数据库系统概论:用户定义的完整性约束

需积分: 31 8 下载量 127 浏览量 更新于2024-08-23 收藏 5.58MB PPT 举报
"ORACLE中用户定义的完整性续-数据库 ppt 王珊" 在ORACLE数据库管理系统中,用户定义的完整性是确保数据准确性和一致性的重要机制。这主要通过在创建表格时设置特定的约束条件来实现。以下是关于这个主题的详细解释: 1. 列值非空(NOT NULL 短语) NOT NULL 约束确保指定列的值不能为空。如果尝试插入或更新为空值,数据库将拒绝执行操作,从而维护数据完整性。例如,如果你有一个员工表,其中“员工ID”字段不应为空,你可以这样做: ```sql CREATE TABLE Employees ( EmployeeID INT NOT NULL, Name VARCHAR(50) NOT NULL, ... ); ``` 这样就确保了每个员工都有一个ID和名字。 2. 列值唯一(UNIQUE 短语) UNIQUE 约束用于确保表中某列的每一行都具有唯一的值。这可以防止重复数据,比如在电子邮件地址或电话号码列。例如: ```sql CREATE TABLE Employees ( EmployeeID INT PRIMARY KEY, Email VARCHAR(100) UNIQUE, ... ); ``` 这里,Email字段将不允许有重复的值。 3. 检查列值是否满足一个布尔表达式(CHECK 短语) CHECK 约束允许你在插入或更新数据时设定列值的限制。这可以是任何满足特定条件的布尔表达式。例如,如果年龄字段不能小于0或大于150,你可以这样定义: ```sql CREATE TABLE Employees ( EmployeeID INT PRIMARY KEY, Age INT CHECK (Age >= 0 AND Age <= 150), ... ); ``` 这样,试图插入年龄小于0或超过150的记录将导致错误。 除了在创建表时定义这些约束,ORACLE还支持在表已经存在后添加约束。例如,可以使用`ALTER TABLE`语句添加新的完整性约束: ```sql ALTER TABLE Employees ADD CONSTRAINT EmailUnique UNIQUE (Email); ``` 或 ```sql ALTER TABLE Employees ADD CONSTRAINT AgeCheck CHECK (Age >= 0 AND Age <= 150); ``` 在数据库系统概论的学习过程中,学生应掌握这些基本概念,并能运用到实际数据库设计中。除了理论知识,还包括对数据库技术发展历史的理解,查询优化,关系数据理论,以及数据库设计、恢复技术、并发控制、安全性、完整性的深入学习。课程评估包含平时表现、测试、个人研究报告、集体项目和期末考试,强调理论理解而非具体软件操作。报告要求清晰阐述技术背景、发展历程、核心概念、未来趋势和个人见解,并提供参考文献。此外,集体项目通常涉及数据库和编程语言的实际应用,以提升学生的实践能力。