JAVA学习数据库4

来源:互联网 发布:linux重启网卡 编辑:程序博客网 时间:2024/05/30 02:52
1.用户名与密码做成一个表还是做成两个表?

用户表




密码表


ID
用户名



ID
密码

1
张三



1
123

做成两个表之后,数据的安全性高很多。还可以设置两个表的不同访问权限。

2.数据表操作,增删改
delete和truncate 区别
delete会记录日志,删除之后还可以恢复,但效率低。truncate不会记录日志,删除之后的数据不能恢复,但效率高。

3.查询
查询是数据库中最为常用和复杂的一种sql结构。
select。
select 【distinct】 


3.刘基改刘伯温 周末作业
年龄不建议加入到表中,因为每年都要更改,使用年月日可以
delete后面不能加*号,
select后面要加*,*号表示所有列。

数据库完整性
概述
为什么?
为了防止垃圾数据的产生,从而影响数据库的执行效率!
可靠性+准确性= 数据完整性

分类
1.实体完整性-保证一——行数据是有效的
  • 保证每行所代表的实体能相互区别,布恩那个存在两条一模一样的记录
  • 实现方法:
——主键约束(primary key),主键列不能为空,也不能重复,一个表中只能有一个主键。
——唯一约束(unique):指定列的所有的值必须唯一,其他列不能重复,该列在表中的每一行的值必须唯一。和主键区别是可以为空,并且可以在一张表中给多个列设置

2.域完整性    —— 列数据的输入有效性。
  • 实现方法:
——非空约束:not null
——默认约束:default  如果没有值,那么就会自动填入默认值。
——检查约束:check(MYSQL)不支持

3.引用完整性         ——        保证引用的编号是有效的
  • 为什么,例如,在录入学生成绩时,所使用的学号必须是在学生表中作为主键存在的编号。
  • 是什么,从表外键中引用的数据,必须在主键列中出现。
  • 实现方法——外键约束。语法,
  • 外键和外键约束


-- 给t studentss的s classId添加外键约束,约束名为fk 1
ALTER TABLE t_studentss ADD CONSTRAINT fk_1 FOREIGN KEY (s_classId) REFERENCES t_class(c_id);
-- s classId的值,必须引用t class表中的c id的主键值。

      

1,二者概念不同,常常被混淆
2.外键指的是从表某列和主表某列的衣服关系
3.外键约束是指在外键关联主键上强制加上一个约束,如果违反该约束,则不允许该条数据的修改。
     注意,没有建立外键约束不等于没有外键


用户自定义完整性——保证自定义规则
0 0
原创粉丝点击