第三章-数据库基础.ppt
文本预览下载声明
* * * * * * * * * * * * 关系的完整性 上表符合第二范式,但是不符合第三范式 由2NF规范化为3NF: 这样的关系同样存在着高度冗余和更新异常问题。消除传递依赖关系的办法是将关系分解为如下几个3NF关系: 教师关系:教师代码、姓名、职称、系; 课题关系:研究课题号、研究课题名; 教师与课题关系:教师代码、研究课题号; 系与电话关系:系、电话。 3NF消除了插入异常、删除异常、数据冗余及修改复杂等问题,已经是比较规范的关系。 (四)关系模型的存储结构 关系模型的数据独立性最高,用户基本上不能干预物理存储。在关系模型中,实体及实体间的联系都用表来表示。在数据库的物理组织中,表以文件的形式存储。有的系统是一个表对应于一个操作系统文件,有的系统是一个数据库中所有的表对应于一个或多个操作系统文件,还有的系统是自己设计文件结构。 二、关系数据库 关系数据库具有三级模式: (一)关系数据库的模式 关系数据库的模式(也称概念模式)包括出现在数据库中的每个关系(基本表)的模式定义,即它包括对关系名(表名)、属性名和属性取值范围(类型及宽度)等的说明。 (二)关系数据库内模式 内模式包括出现在数据库中的每个关系(基本表)所对应的存储文件和相关的索引,索引也存放在存储文件中。 (三)关系数据库外模式 外模式是模式的逻辑子集,是用户与数据库系统的接口。 数据库系统的三级模式(图) 物理模型内模式 用户A 用户B 用户D 用户E 外模式1(子模式1) 外模式2(子模式2) 概念模型(模式) DBMS OS 子模式/概念模式 映射A 子模式/概念模式 映射B 模式/内模式映射 三、关系数据库语言——SQL 结构化查询语言(Structure Query Language,SQL)是一种介于关系代数与关系演算之间,并且使用范围限定的形式化语言。 (一)SQL的产生与发展 (二)SQL语言的应用 (三)SQL语言的特点 (一)SQL的产生与发展 SQL语言由Boyce和Chamberlin在1974年提出的。 第一个SQL标准是SQL-86(ANSIX3.135-1986),它是美国国家标准局(ANSI)在1986年10月公布的,并于1987年被国际标准化组织(ISO)采纳为国际标准。 1989年第二次公布SQL标准为SQL-89(ANSIX3.135-1989),1992年又公布了SQL-92标准。 (二)SQL语言的应用 自SQL成为国际标准语言以后,各个数据库厂家纷纷推出各自支持的SQL标准的软件。并且大部分数据库都采用了SQL作为其数据存取的标准接口,使不同数据库系统可以进行互操作。如今,无论是Oracle、DB2、Sysbase、SQL Server这些大型的数据库管理系统,还是Visual FoxPro、PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言。同时,SQL语言对其他领域也产生了很大影响,有不少软件产品将SQL语言的数据查询功能与图形功能、软件工程工具、软件开发工具、人工智能程序结合起来。 (三)SQL语言的特点 高度非过程化 统一的语言 语言简洁、易学易用 交互式与嵌入式使用 面向集合的操作方式 3.5关系数据库标准语言SQL SQL 功能 动词 数据查询 SELECT 数据定义 CREATE,DROP,ALTER 数据操纵 INSERT,UPDATE,DELETE 数据控制 GRANT,REVOKE 3.5关系数据库标准语言SQL 学生—课程数据库: 学生表:student( sno, sname, ssex, sage, sdept) 课程表:course( cno, cname, ccredit) 学生选课表:sc( sno, cno, grade) 3.5关系数据库标准语言SQL 1.定义基本表 格式: CREATE TABLE表名(列名数据类型[列级完整性约束条件] [,列名数据类型[列级完整性约束条件 ] ]…) 例: Create table student (sno char(5) not null unique,sname char(20) unique,ssex char(2),sage int,sdept char(16)) 2.修改基本表 格式: ALTER TABLE表名 [ADD新列名数据类型[完整性约束]] [DROP完整性约束名] [MODIFY列名数据类型] 例:向Student表增加“入学时间”列,其数据类型为日期型。 Alter table student ADD Scome DATE 3.5关系数据库标准语言SQL 3.删除基本表 格式: DROP T
显示全部