logo资料库

数据库专升本.doc

第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
资料共12页,剩余部分请下载后查看
数据库专升本复习 第一章 数据库系统概述 1.2 数据库技术的产生、发展 数据库历经了人工管理阶段、文件系统阶段和数据库系统阶段。 1,人工管理阶段:软件只有汇编语言,处理的方式是批处理。 特点:(1)数据不保存 (2)数据不共享 (3)数据不具有独立性 (4)系统没有专用的软件对数据进行管理 2,文件系统阶段: 特点:(1)数据以文件形式长期保存 (2)由文件系统管理数据 (3)程序与数据间有一定独立性 3,数据库系统阶段: 特点:(1)数据结构化 (2)数据共享性高、冗余度低 (3)数据独立性高(4)有统一的数据控制功能 整个数据库的结构可分成三级:用户的逻辑结构、整体逻辑结构和物理结构。 数据独立性分两级:物理独立性和逻辑独立性。 数据库管理系统(DBMS)提供四方面的数据控制功能: ○1 数据的安全性控制:例如,口令检查用户身份 ○2 数据的完整性控制: ○3 并发控制 系统通过设置一些完整性规则,确保数据的正确性、有效性和相容性。 ○4 数据恢复 1.3 数据库系统的组成 1,数据库系统(DBS):主要由数据库、数据库用户、计算机硬件系统、计算机软件系 统等几部分组成。 2,数据库(DB):是存储在计算机内、有组织的、可共享的数据集合。 具有○1 较小的冗余度、○2 较高的数据独立性和○3 易扩展性,并为各种用户共享。 数据库有如下两个特点:集成性和共享性。 3,用户:可以对数据库进行○1 存储、○2 维护和○3 检索等操作。 4,软件系统:主要包括数据库管理系统(DBMS)及其开发工具、操作系统和应用系统 等。 数据库管理系统(DBMS)是数据库系统的核心。 数据库系统(DBS)包含 DB、DBMS 和 DBA(数据库管理员) 1.4 数据库系统的模式结构
1, 数据库系统的三级模式: 从逻辑上分为三级:外模式、模式、内模式 模式:模式也称为逻辑模式、概念模式,是数据库中全体数据的逻辑结构和特征的 描述。 一个数据库只有一个模式。 外模式:外模式又称为子模式或用户模式。是数据库用户能看到并允许使用的那部 分数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示,也 是数据库用户的数据视图,即用户视图。 外模式是模式的子集,一个数据库可以有多个外模式。 内模式:内模式又称为存储模式,靠近物理存储,是数据在数据库内部的表示方式。 一个数据库只有一个内模式。 2, 数据库系统的二级映像与数据独立性: (1) 外模式/模式映像。模式描述的是数据的全局逻辑结构,外模式描述的是数据 的局部逻辑结构。数据库中的同一模式可以有任意多个外模式。保证了数据 与程序间的逻辑独立性。 (2) 模式/内模式映像。模式和内模式都只有一个, 所以模式/内模式映像是唯一 的。确保了数据的物理独立性。 3,数据库系统的三级模式与二级映像的优点: (1)保证数据的独立性 (2)简化了用户接口 (3)有利于数据共享 (4)有利于数据的安全保密 1.5 数据库系统的外部体系结构 从最终用户的角度看,数据库系统的结构分为○1 单用户结构○2 主从式结构 ○3 分布式结构、○4 客服/服务器结构和○5 浏览器/服务器结构 1.6 数据库管理系统 用户在数据库系统中的一切操作,包括数据定义、查询、更新及各种控制,都是通过 DBMS 进行的。 1, DBMS 的主要功能: (1) 提供数据定义语言(DDL),定义数据的模式、外模式和内模式三级模式结构,定义 模式/内模式和外模式/模式二级映像,定义有关约束条件。 DD(数据字典)是 DBMS 存取数据的基本依据。数据字典用来描述数据库 中有关信息的数据目录,包括数据库的三级模式、数据类型、用户名和用户 权限等有关数据库系统的信息,起着系统状态的目录表作用。 (2) 提供数据操纵语言(DML),实现对数据库的基本操作,包括检索 select、更新(插 入 insert、修改 update、删除 delete)等。
(3) 数据库运行管理功能:对数据库的运行进行管理师 DBMS 运行的核心部分。 1.7 数据模型 (1)信息世界(概念模型)的有关基本概念: 键 key:在实体型中,能唯一标识一个实体的属性或属性集称为实体的键,也称为关 键字。 域:属性的取值范围称为该属性的域。 (2)数据模型的分类: 1,第一类模型是概念模型,也称为信息模型,他是按用户的观点对数据和信息建模, 是对现实世界的事物及其联系的第一级抽象。概念模型属于信息世界中的模型。主要用 于数据库设计时用户和数据库设计人员之间交流的工具。 在概念模型中,比较著名的是实体联系模型,简称 E-R 模型。 2,第二类模型是逻辑模型(或称数据模型)和物理模型。是按计算机的观点对数据 建模,是对现实世界的第二级抽象。 数据库是按 DBMS 规定的数据模型组织和建立起来的。 逻辑模型主要包括:层次模型、网状模型、关系模型面向对象模型等。 (3)实体联系模型及 E-R 图: E-R 图的基本成分包含实体型、属性和联系。 ○1 实体型:用矩形框表示。 ○2 属性:用椭圆形框表示。 ○3 联系:用菱形框表示。 实体之间的联系有:○1 一对一(1:1)○2 一对多(1:n)○3 多对多(m:n) (4) 数据模型的组成要素: 数据模型由:○1 数据结构、○2 数据操作和○3 数据的完整性约束组成。 1.8 四种数据模型 数据模型主要有○1 层次模型、○2 网状模型和○3 关系模型三种。 层次模型和网状模型统称为非关系模型。 (1)层次模型用树形数据结构(有向树)来表示各类实体间的联系。 (2)网状模型是采用有向图结构表示记录型与记录型之间联系。 (3)关系模型的数据结构是一张规范化的二维表,由表名、表头和表体三部分组成。一个 关系对应一张二维表。
第二章 关系数据库 2.1 关系的形式化定义及其有关概念 1,笛卡尔积:笛卡尔积实际是一个二维表,表的框架由域构成,表的行称为元组,列称为 域。列的个数称为目或度。 2,关系。在数学上,关系是笛卡尔积的任意子集。 3,关系的性质:关系是一种规范化了的二维表中行的集合。 具有如下性质:(1)列是同质的。每一列的分量来自同一个域,是同一类型的数据。 (2)不同的列可来自同一个域,列称为属性,属性必须有不同的名字。 (3)列的顺序可以任意交换 (4)关系中元组(行)的顺序可任意 (5)不允许出现相同的元组 (6)分量必须是不可分的数据项 4,关系模式:一个关系模式应当是一个五元组。在关系模型中,实体以及实体间的联系都 是用关系来表示的。 2.2 关系的键与关系的完整性 1,候选键:能唯一标识关系中元组的一个属性或属性集,称为候选键,或称为候选关键字 或候选码。(1)唯一性(2)最小性 2,主关系键(primary key):被选用的候选键称为主关系键,或主键、主码、关键字等。 3,关系的完整性:○1 实体完整性 ○2 参照完整性 ○3 用户自定义完整性 实体完整性:是指主关系键的值不能为空或部分为空。 参照完整性:是对外部关系键的说明。 用户自定义完整性:如,取值范围的约束;数据输入格式的限制等。 2.3 关系代数 (1)集合运算符 4 个:∪(并)、—(差)、∩(交)、×(笛卡尔积)。 (2)专门的关系运算符 5 个:σ(选取)、∏(投影)、∞(连接)、*(自然连接)、÷(除) (3)逻辑运算符 3 个:∨(或)、∧(与)、┐(非) (4)基本运算 5 个:并、差、积、选取和投影。 ∪(并):合并两个关系,列数不变,删去重复的元组(行)。 ∩(交):用关系 R 和关系 S 表示:R∩S=R-﹙R-S﹚ 具体实例请看课本。
第三章 关系数据库标准语言——SQL SQL 是结构化查询语言的缩写。 3.1 SQL 的基本概念 (1)基本表 base table:一个关系对应一个基本表。一个或多个基本表对应一个存储文件。 (2)视图 view:视图是从一个或几个基本表导出的表,是一个虚拟的表。数据库中只存放 视图的定义而不存放视图的对应数据。 SQL 支持数据库的三级模式结构。其中外模式对应于视图,模式——基本表,内模式— —存储文件。 SQL 具有○1 数据查询(DQL)、○2 数据定义(DDL)、○3 数据操纵(DML)和○4 数据控制(DCL) 4 种功能。 SQL 的动词:数据定义 3 个:创建 create、修改 alter、删除 drop。 数据查询 1 个:查询或检索 select。 数据操纵 3 个:添加或插入 insert、修改 update、删除 delete。 数据控制 2 个:授予 grant、收回 revoke。 3.3 创建和使用数据库 在 SQL Server2000 中,创建一个数据库至少产生两个文件,即数据文件和日志文件。一 个数据库至少应包含一个数据文件和一个事务日志文件。 一个数据库可以有一个或多个数据文件,一个数据文件只属于一个数据库。 (1)用 SQL 命令创建数据库的语法格式如下: Create database database_name (2)用 SQL 命令修改数据库的语法格式如下: alter database database_name (3)用 SQL 命令删除数据库的语法格式如下: drop database database_name 3.4 创建和使用数据表 (1)用 SQL 命令创建数据表。 例如:用 SQL 命令创建一个学生表 S,对 Sno 字段进行 NOT NULL 约束。 Create table S ( Sno char(6) not null, Sn varchar(8), Sex char(2)default=’男’, Age int, Dept varchar(20) ) (注:default 表示默认值)
在 SQL Server 中可以定义 ○1 NULL/NOT NULL ○2 unique(唯一约束) ○3 primary key (主键) ○4 foreign key(外键) ○5 check(范围)五种类型的完整性约束。 例如:创建 S 表,S#为主键,SN 不能为空 Create Table S ( ) primary key, not null, varchar(10) varchar(8) S# SN Age int, Dept varchar(50) (2)用 SQL 命令修改数据表。 1,add(增加)方式: 例如:在 S 表中增加一个班号列和住址列。 Alter table S Add Class_no char(6), Address char (40) 2,alter(修改)方式 例如:把 S 表中的 Sn 列加宽到 10 个字符。 Alter table S Alter column Sn char(10) 3,drop(删除)方式 例如:删除 S 表中的主键。 Alter table S Drop constraint_prim (3)用 SQL 命令删除数据表。 例如:删除表 S。 Drop table S 3.5 创建与使用索引 1, 索引的作用:(1),加快查询速度;(2),保证行的唯一性。 2,索引的分类:(1)按照索引记录的存放位置,可分为:聚集索引和非聚集索引。 在检索记录时,聚集索引速度比非聚集索引快 (2)唯一索引 (3)复合索引
3,用 SQL 命令创建索引。 语法格式如下: create [ unique ]/[ clustered ] index< 索引名 > on < 表名 > ( < 列名 > [次序], < 列名 >[次序] ) (注:其中 unique 表示建立唯一索引; clustered 表示建立聚集索引) 例如:在“图书”表中以“作者”建立一个索引 Create Index i_auth on Book(BAuth) 4,用 drop index 命令删除索引。 例如:删除表 SC 的索引 SCI。 Drop index SC.SCI 3.6 数据查询(select) 例如:(1) 在“高等教育出版社”出版、书名为“操作系统”的图书的作者名 Select BAuth From Book, Publish where Book.PNo=Publish.PNo and PName=’高等教育出版社’ and BName=’操作系统’ (2) 查询“电子工业出版社”出版的“计算机”类图书的价格,同时输出出版社名称及图 书类别 Select BPrice, PName, BType From Book, Publish Where Book.PNo=Publish.PNo and BType=’计算机’ and PName=’电子工业出版社’ (3) 查找书名中有“计算机”一词的图书的书名及作者 Select BName, BAuth From Book Where BName like ‘%计算机%’
字符串中可以含有的通配符:% 代表 0 个或多个字符; _ 下划线代表一个字符; [ ] 表示在某一范围的字符。 (4)分组查询:group by 子句可以将查询结果按属性列或属性列组合在行的方向上进行分 组。 若分组后还要按照一定的条件进行筛选,则需要使用 having 子句。 例如:查询选修两门以上(含两门)课程的学生的学号和选课门数。 Sno, count(*)as SC_num Select From SC Group by Sno Having (count(*)>=2) 当一个 SQL 查询中同时使用 where 子句,group by 子句和 having 子句时,其顺序是 where, group by, having。Where 与 having 子句的根本区别在于作用对象不同。Where 子句作用于基 本表或视图;having 子句作用于组,必须跟在 group by 子句后面,但 group by 子句后面可 以没有 having 子句。 (5)查询的排序:查询结果要排序时,应该使用 order by 子句,order by 子句必须出现在 最后。DESC 为降序 ASC 为升序,缺省时为升序。 例如:求选课在三门以上(含三门)且各门课程均及格的学生的学号及其总成绩,查询 结果按总成绩降序排列。 Select Sno, sum(Score)as TotalScore From SC Where (Score>=60) Group by Sno Having (count(*)>=3) Order by sum(Score)desc 3.7 数据操纵 数据操纵语言(DML)主要包括添加数据(insert into)、修改数据(update)和删除 数据(delete)三种 1, 添加数据:(或插入数据) 其语法格式是: insert into <表名> (列名,列名,…) Values(’’,’’,’’…) 例如:在 S 表中添加(或插入)一条学生记录(学号:S7、姓名:郑琳、性别:女) Insert into S(Sno,Sname,Sex) Values (’S7’,’郑琳’,’女’)
分享到:
收藏