这是数据库的第3次实验作业啦,但我真的啥也不会…觉得自己之前写的实验也都是瞎写,老师打分还没下来,也不知道可行性如何。
一、 主键外键索引
1.主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。
身份z号是唯一能确定你这个人的,其他都可能有重复,所以,身份z号是主键。
2.外键用于与另一张表的关联。是能确定另一张表记录的字段,也就是另一张表的主键,用于保持数据的一致性。
比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。
3.索引:索引基本是为了在你数据量巨大的时候,能加快你的查询速度
索引就像是一个表的目录而已 ;一个表可以有多个唯一索引
4.排序:就是纯粹为了按照某个字段从大到小或从小到大排序
区别:其实索引的正序倒序就是一个分布方式的区别,索引的正倒序并不能让最后的查询结果也是这么显示
问题来了:索引字段和排序字段该怎么选择?我不理解
二、ID,UID是什么意思?
ID:是指论坛注册的用户名,可以自己设置。
UID 是用户身份z明(User Identification)的缩写。UID用户在注册会员后,系统会自动的给你一个UID的数值。意思就是给这名用户编个号
三、关于分隔符DELIMITER
告诉MySQL解释器,该段命令是否已经结束了,mysql是否可以执行了。
可以通过delimiter更改语句结束符
一般会用:// , $$ 或 &&
默认的SQL语句中,delimiter是分号 ,以分号 “;” 表示结束。
更改结束符举例:
DELIMITER // CREATE FUNCTION get_number_by_id(id INT) RETURNS VARCHAR(300) BEGIN RETURN (SELECt CONCAT('name: ', name, '--', 'number: ', number) FROM users_info WHERe uid = id); END// DELIMITER ;
四、关系数据库约束机制
数据完整性通常由三种形式:
-
实体完整性:即表中有一个主键。
实体完整性在MySQL中表现为设置主键约束和唯一性约束,即primary key与unique key。这两个约束均会在数据库中创建对应的索引。
主键约束、唯一性约束区别 -
域完整性:又称为用户自定义完整性,保证数据值满足用户指定的条件。
1) 检查约束
- 在创建表时设置检查约束
一般情况下,如果系统的表结构已经设计完成,那么在创建表时就可以为字段设置检查约束了。
#在 test_db 数据库中创建 tb_emp7 数据表,要求 salary 字段值大于 0 且小于 10000 CREATE TABLE tb_emp7 ( id INT(11) PRIMARY KEY, salary FLOAT, CHECK(salary>0 AND salary<100), FOREIGN KEY(deptId) REFERENCES tb_dept1(id) );
- 在修改表时添加检查约束
#修改 tb_emp7 数据表,要求 id 字段值大于 0 ALTER TABLE tb_emp7 ADD CONSTRAINT check_id CHECK(id>0);
2)创建非空约束
3) 默认值
- 参照完整性:表示与参照表的关系和数据约束,即外键。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)