中级项目知识点

1.varchar类型:变长字符串,使用时我们必须设定其长度,最大长度“理论值”65535个设定值只是表示最多可存储的字符个数。

一般主键id类型为 id smallint unsigned not null auto_increment primary key comment '',
varchar和char都有定长,字段中除了主键,别的字段一般都有default
tinyint 字符串类型用于字段值为0和1,true和false
int字符串类型用于添加时间字段

查select标签 iframe标签
insert ,update语句中字段值用单引号还是双引号?
2.empty()和isset()函数的区别isset强调这个变量是不是存在,empty强调变量的值是不是为空

理解一下分页类,上传类,验证码类


3.功能第二,安全第一。[经验]
三个安全问题:
ü 恶意攻击    措施:加验证码
ü SQL注入 措施: 密码md5()加密,单引号转义

ü XSS攻击  措施:批量实体转义


4.数据库表的设计有两点:字段类型和表间关系,其中表间关系关联很重要。有一对多,多对多。

中级项目知识点_第1张图片

goods商品表字段中有goods_id,cat_id(外键),brand_id(外键),type_id(外键)

category分类表有cat_id,parent_id.brand品牌表有brand_id。他两对goods表是一对多关系

goods_type表有type_id。 attribute表有attr_id,type_id(外键)。他两是一对多关系

goods_attr表有goods_attr_id,goods_id(外键),attr_id(外键),她里面存放的是商品的扩展属性,他是商品表和属性表的中间关联表,goods表和attrbute表是多对多关系

总之都是为goods表服务的,核心就是商品,就是为了在添加商品时,除了可以添加商品表本身的字段外,还可以添加别的字段,比如给商品添加某个分类,某个品牌,某个类型下的扩展属性。


商品的属性分成两类:
ü 通用属性,每个商品都具备的属性,如名称,价格,图片等,存放在goods表中
ü 扩展属性,不同类型的商品它的属性是不同的,它是存放在goods_attr表中,
ü Attribute属性表是为商品增加扩展属性服务的,就是给某商品类型增加一个属性,删除一个属性等
ü goods商品表是为增加一个商品服务的,就是给某类型 某分类 某品牌增加一个商品,删除一个商品等
ü Goods_attr表是goods商品表和attribute属性表的中间关联表,里面存放的是商品的扩展属性,是为添加商品时为商品添加一些扩展属性准备的


注意,在添加扩展属性的时候,我怎么知道这种类型的商品有哪些扩展属性呢?
这些属性保存在attribute表中的。
/*商品分类表category和类型表goods_type的区别?
二者服务的对象不一样,目的也是不一样的
商品分类是为商品服务的。
类型是为扩展属性服务的。*/
category商品分类表和brand品牌表对goods商品表都是一对多的关系,也就是分类表和品牌表是为商品表服务的,商品表中有cat_id,brand_id字段,本身分类和品牌就是商品的属性。

你可能感兴趣的:(项目经验知识点)