- 2
- 0
- 约3.43千字
- 约 28页
- 2018-05-31 发布于河南
- 举报
第08讲 数据库系统
10.3.1 数据库系统的三级模式结构 数据库系统的三级模式是指数据库系统由外模式、模式、内模式组成。 1、外模式(子模式、用户模式) 数据库的最终用户能看见和使用的局部数据的逻辑结构和特征的数据视图,是与某一应用有关的数据的逻辑表示。其描述的是数据的局部逻辑结构。 2、模式(逻辑模式) 数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。其描述的是数据的全局逻辑结构。 3、内模式(存储模式) 数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。内模式描述的是数据的全局物理结构。 数据库系统的三级模式 10.3.2 数据库的二级映像功能与数据独立性 外模式/模式映像 定义该外模式与模式之间的对应关系,当模式改变时,数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变,从而保证数据和程序的逻辑独立性。 模式/内模式映像 当数据库的存储结构变化,数据库管理员对模式/内模式映像作相应的改变,可以使模式保持不变,从而使应用程序也不用修改,保证数据和程序的物理独立性。 10.4.1 关系数据库设计基础 关系数据库设计过程: SQL 介绍 SQL是计算机的标准数据库语言,是一种组织、管理和检索计算机数据库存储数据的工具。使用SQL可以操纵关系数据库的关系模式中的用户模式和模式。 SQL语言包含4个部分: 数据定义(DDL)语言(如Create, Drop,Alter等语句) 数据操纵(DML)语言(Insert, Update, Delete语句) 数据查询语言(Select语句) 数据控制语言(如Grant,Revoke,Commit等语句) 学生表:STUDENT(SNO ,SNAME ,SAGE ,SSEX ,Sdept) SNO学号 ,SNAME姓名 ,SAGE年龄 ,SSEX性别 ,Sdept系部。 课程表:Course(Cno,Cname,Cpno,Ccredit) Cno课程号,Cname课程名,Cpno选修课号,Ccredit学分。 学生选课表:SC(Sno,Cno,Grade) Sno学号,Cno课程号,Grade成绩。 SELECT命令的语法为: SELECT [DISTINCT|ALL] {表达式[列别名]…} FROM [模式名.] {表名|视图名|快照名} [WHERE 条件] [ORDER BY {表达式|位置} [ASC|DESC] [, {表达式|位置[ASC|DESC]}]…] SQL SELECT 语句 SELECT 语句用于从表中选取数据,结果被存储在一个结果表中(称为结果集)。 SQL SELECT 语法 SELECT 列名称 FROM 表名称 SQL查询 例 1 (查询指定列)查询全体学生的学号和姓名 SELECT Sno,Sname FROM STUDENT; 例 2 (查询全部列)查询全体学生的详细记录 SELECT * FROM STUDENT; 例 3 (查询计算的值)查询全体学生的姓名及出生年份 SELECT Sname,2008-Sage FROM STUDENT; SQL SELECT DISTINCT 语句 在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。 关键词 DISTINCT 用于返回唯一不同的值。 语法: SELECT DISTINCT 列名称 FROM 表名称 例 4 (取消重复行)查询选修了课程的学生学号 SELECT distinct Sno FROM SC; WHERE 子句 如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。 语法: SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。 操作符描述: =等于 不等于 大于 小于 =大于等于 =小于等于 BETWEEN在某个范围内 LIKE搜索某种模式 例 5 (查询满足条件的元组)查询经管系全体学生名单 Select sname from student where sdept=‘经管系’; 例 6 (查询满足条件的元组)查询所有年龄在20岁以下的学生姓名和年龄 Select sname,sage fr
原创力文档

文档评论(0)