- 9
- 0
- 约1.02万字
- 约 82页
- 2017-12-27 发布于河南
- 举报
数据库完整性和安全性
数据库完整性和安全性 1 数据库完整性 数据库的完整性是指: 数据的正确性、有效性和相容性 例: 学生的学号必须唯一; 性别只能是男或女; 学生所在的专业必须是学校已开设的专业。 为维护数据库的完整性,DBMS必须 1.提供定义完整性约束条件的机制 2.提供完整性检查的方法 3.违约处理 1.1 实体完整性 1 实体完整性定义 关系模型的实体完整性 CREATE TABLE中用PRIMARY KEY定义 单属性构成的码有两种说明方法 定义为列级约束条件 定义为表级约束条件 对多个属性构成的码只有一种说明方法 定义为表级约束条件 定义为列级约束条件 【例7.1】将Product表中的pdID属性定义为主码。 CREATE TABLE Product (pdID INT PRIMARY KEY, /*定义为列级约束条件*/ pdName VARCHAR(40) NOT NULL, pdSupplier VARCHAR(20), pdPrice MONEY); 或者: CREATE TABLE Product (pdID INT, pdName VARCHAR(40) NOT NULL, pdSupplier VARCHAR(20), pdPrice MONEY, PRIMARY KEY(pdID)); /*定义为表级约束条件*/ 在表级定义主码 【例7.2】将OrderDetails表中的orderID,pdID属性组定义为主码。 CREATE TABLE OrderDetails (orderID BIGINT, pdID INT, quantity INT, PRIMARY KEY(orderID,pdID)); /*只能定义为表级约束条件*/ 2 实体完整性检查和违约处理 插入或对主码列进行更新操作时,RDBMS按照实体完整性规则自动进行检查。包括: 检查主码值是否唯一,如果不唯一则拒绝插入或修改 检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改 1.2 参照完整性 1 参照完整性定义 关系模型的参照完整性定义 在CREATE TABLE中用FOREIGN KEY短语定义哪些列为外码 用REFERENCES短语指明这些外码参照哪些表的主码 【例7.3】定义OrderDetails表中的参照完整性。 CREATE TABLE OrderDetails (orderID BIGINT, pdID INT, quantity INT, PRIMARY KEY(orderID,pdID), FOREIGN KEY(orderID) REFERENCES Orders(orderID), /*定义参照完整性*/ FOREIGN KEY(pdID) REFERENCES Product(pdID)); /*定义参照完整性*/ 2 参照完整性检查和违约处理 【例7.4】 在定义OrderDetail表时指定违约处理策略。 CREATE TABLE OrderDetails (orderID BIGINT, pdID INT, quantity INT, PRIMARY KEY(orderID,pdID), FOREIGN KEY(orderID) REFERENCES Orders(orderID) ON DELETE CASCADE /*当删除Orders表中的元组时,级联删除OrderDetails 表中相应的元组*/ ON UPDATE CASCADE, /*当更新Orders表中的元组时,级联更新OrderDetails 表中相应的元组*/ FOREIGN KEY(pdID) REFERENCES Product(pdID) ON DELETE NO ACTION /*当删除Product表中
您可能关注的文档
最近下载
- 2025《“混改”后的云南白药公司治理及效果分析》6700字.doc VIP
- 2025年山东理工职业学院单招《数学》检测卷(word)附答案详解.docx VIP
- 2025年山东理工职业学院单招《数学》考前冲刺练习【实用】附答案详解.docx VIP
- 新人教版九年级数学下册导学案全册.docx VIP
- (正式版)JJF(蒙) 082-2024 《旋转蒸发仪校准规范》.pdf VIP
- 国际脓毒症和脓毒性休克管理指南解读.ppt
- 七年级下册语文单元测试卷及解析.docx VIP
- 人工智能安全与伦理挑战.pptx VIP
- 2023年执业药师继续教育咽喉反流性疾病的诊治参考答案.docx VIP
- 2025年山东理工职业学院单招英语模拟试题(附答案解析) 完整版2025.pdf VIP
原创力文档

文档评论(0)