数据库基础知识个人整理版 强烈推荐.docx
《数据库基础知识个人整理版 强烈推荐.docx》由会员分享,可在线阅读,更多相关《数据库基础知识个人整理版 强烈推荐.docx(25页珍藏版)》请在三一办公上搜索。
1、第一章关系数据模型1数据模型(静态)的三要素1一 关系数据结构1二 关系操作2三关系完整性约束2四关系代数2第二章关系数据库的标准语言SQL4一SQL动词表4二数据定义4三数据更新8四数据查询9五授权15六完整性约束命名子句17七触发器17第三章关系数据库理论18一关系模式(回顾)18二数据依赖18三规范化18第一章关系数据模型数据模型(静态)的三要素一 关系数据结构(一)基本概念包括:1属性(Attribute):实体所具有的某一特征。(如学生的特征是学号、姓名、-)域(Domain):属性对应的一组具有相同数据类型的值的集合。每个属性有一个域。(关系模型限定域必须原子性1NF)2 键(ke
2、y)(1)候选键(candidate key)关系的某一属性或属性组的值唯一标识一个元组,而其任何真子集无此性质。候选键的诸属性称为主属性,不包含在任何候选键中的属性称为非主属性。(2)主键(primary key)一个关系至少有一个侯选键,可以有几个侯选键。一般从侯选键中选择一个作为主键(primary key),其他的称为侯补键(alternate key)每个主键的值是不能相同的,(3)外键(foreign key)如关系中的属性或属性组不是本关系的主键,而引用其他关系或本关系的主键,则称 为本关系的外键。3 关系(Relation):(1)关系:定义在事物的所有属性域上的多元关系,一个
3、关系就是一张二维表。(2)关系模式:关系的描述称为关系模式,它可以形式化的表示为R(U,D,DOM,F)R 为关系名U为组成该关系的属性名集合D为属性组U中属性所来自的域DOM为属性向域的映像集合F为属性间数据的依赖关系集合关系模式通常简记为:R (U)或R (Al, A2, A3, ,An)关系的三种基本类型基本表:是实际存在的表,它是实际存储数据的逻辑表示。查询表:是查询结果对应的表。视图表:是由基本表或其他视图导出的表,是虚表,不对应实际存储内容。二关系操作(一) 两种关系操作1 查询(Query)查询可以分为选择(SELECT),投影(Project),连接(Join),交(Inter
4、section),并(Union), 差(Except),除(Divide),笛卡尔乘积。其中选择,投影,并,差,笛卡尔乘积是5种基本操作,其他的操作可用这些基本操作定 义和导出2 插入(Insert),删除(Delete),修改(Update)(二) 关系操作的特点集合式的操作方式,即操作的对象和结果都是集合。(三) 关系数据语言可以分为三类1关系代数语言2关系演算语言(元组关系演算和域关系演算)3具有关系代数和关系演算双重特点的语言(SQL语言)三关系完整性约束关系数据库的数据必须遵循的约束实体完整性(Entity Integrity )参照完整性(Referential Integrit
5、y )用户自定义完整性(User-Defined Integrity)实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称为关系的两个不变 性。(一) 实体完整性实体完整性规则:关系模式R的主属性值不可为空指所有主属性均不可取空值,不仅仅是主键不可为空(二) 参照完整性1 外键(Foreign Key)定义:设F是基本关系R的一个或一组属性,但不是关系R的码,KS是基本关系S的主码。如果F与KS相对应,则称F是R的外码(Foreign Key)R 称为参照关系(Referential Relation), S 称为被参照关系(Referenced Relation )2参照完整性规则
6、若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码KS相对应(基本关系到R和S不一定是不同关系),则对于R中每个元组在F上的值必须为:(1) 等于被参照关系S中所参照的候选键的某个值(2) 空值(三) 用户自定义完整性针对某一具体数据的约束条件,反映某一具体应用所涉及的数据必须满足的特殊语义由应用环境决定 四关系代数关系代数按运算符的不同可分为传统关系运算和专门关系运算(一)传统关系运算(交,并,差,笛卡尔乘积)关系R1关系关系S1U(并)R1UR2=b 2d2nb 3 c 2 d 3 a 3 e 5 g 6 (交 AND) RinR2=bdbcf6b 2 d3_(差)R1R2=c
7、2 d b 3 b4Xd 3 b(笛卡尔乘积)R1X S - b 2 d 2 db 2 d 3 b b 3 b 2 d b 3 b 3 b c 2 d 2 d c 2 d 3 b d 3 b 2 d d 3 b 3 b(二)专门关系运算1选择(SELECT)(选择符合条件的元组)。选择条件(关系名)如:&性别=男(STUDENT)表的水平划分2投影(Project)(选择符合条件的属性)口属性表( 关系名)如:n学号,姓名(STUDENT)表的垂直划分3连接操作(Join)笛卡尔乘积 R X S = t,g|tER AND gES(1)连接分为等值连接和自然连接连接操作:R|X|S其中A和B分
8、别为R和S上度数相等且具有可比性的属性组 AB1)等值连接(由为二)R1.A1 R1.A2R1.A3S.A2S.A3如上例R1 1X1 S =b 2d2dR1.A2=S.A2b3b3bc2d2dd3b3b2)自然连接(只有1X1)一般连接是从行的角度出发的,但自然连接还要取消重复的列,是从行和列的角度进行运算S.A2S.A3R1.A1 R1.A2 R1.A3如 R1 IXIS =b2d4除运算(!)如 R1!S =R1.A1 bB3b在R1上b印象集合是(2, d) ,(3, d)S 在(A1, A2)上的投影为(2, d) ,(3, d) 第二章关系数据库的标准语言SQLSQL动词表SQL功
9、能动词数据查询SELECT数据定义CREATE, DROP, ALTER数据操纵INSERT, UPDATE, DELETE数据控制GRANT, REVOKE数据定义操作对象操作方式创建删除修改模式CREATE SCHEMADROP SCHEMA表CREATE TABLEDROP TABLEALTER TABLE视图CREATE VIEWDROP VIEW索引CREATE INDEXDROP INDEX注意SQL通常不提供修改模式定义,修改视图定义,修改索引定义的操作(一)模式的定义和删除1模式的定义CREATE SCHEMA 模式名AUTORIZATION 户例如:CREATE SCHEMA
10、 s-t” AUTORIZATION wang;(1)要创建模式,调用该命令的用户必须具有DBA权限,或者获得了DBA授予的CREATESCHEMA权限(2)如果没指定模式名那么模式名隐含为用户名(3)定义模式,实际上是定义了一个命名空间,在这个空间中可以进一步定义该模式包含 的数据库对象,例如基本表,视图,索引。2模式的删除DROP SCHEMA模 式名 CASCADE | RESTRICT(两者必选其一)例如:DROP SCHEMA s-t” CASCADE;(1)CASCADE (级联)表示在删除模式的同时把该模式中所有的数据库对象全部一起删 除。(2)RESTRICT(限制)表示在删除
11、该模式中已经定义了下属数据库对象(表,视图索引), 则拒绝该删除语句。(二)表的定义,删除和修改1表的定义CREATE TEBLA表名 ( 列名 数据类型列级完整性约束,列名数据类型列级完整性约束,表级完整性约束)列定义的完整格式: 列名 列类型DEFAULT 默认值NOT NULL 列约束CREATE TEBLA表名AS SELECT 查询若要定义模式式下的表:CREATE TABLE 模式名.表名(1)数据类型实体完整性参照完整性用户自定义完整性主键约束(Primary Key)外键约束(Foreign Key)检查约束(Check)唯一键约束(Unique)非空约束(Null I Not
12、 Null)默认值(Defautl)(3) 例子CREATE TABLE student( Sno CHAR(8) PRIMARY KEYSname CHAR(20) UNIQUE,Ssex CHAR(2) DEFALULT 男,Sage SMALLINT CHECK(Sage0)Sdept CHAR(20)CREATE TABLE Course( Cno CHAR(4) PRIMARY KEY,Cname CHAR(40),Cpno CHAR(4) REFERENCES Course(Cno),Ccredit SMALLINT,CHECK (Ccredit 0)CREATE TABLE sc
13、(Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,PRIMARY KEY (Sno,Cno,/注意一定要有括号FOREIGN KEY(Sno) REFERENCES Course(Cno),/sno 一定要有括号)(4) 说明1) 列约束:2) 表约束:表约束,2表的删除在每个列后定义,可以有多个约束子句,不能定义多个列上的约束在全部列定义完成后定义,可以有多个约束子句,多个列上的约束必须使用 单列上的约束可以用列约束,也可用表约束DROP TABLE CASCADE | RESTRICT(1) CASCADE (级联)删除该表没有任何限制,删除表的同时,相关的依
14、赖对象(如视 图)也一起删除。(2) RESTRICT (限制)删除该表是有限制条件的。欲删除的表不能被其他表的约束所引 用(如CHECK,FOREIGN KEY等约束),不能有视图,不能有触发器(trigger),不 能存储过程或函数。(3) 缺省情况下是RESTRICT3表的修改ALTER TABLE 表名ADD 列名 数据类型完整性约束IMODIFY 列名 数据类型完整性约束IDROP COLUMN 列名 IADD表约束|DROP CONSTRAINT 约束名例如(1) ALTER TABLE StudentADD Dept Varchar2 (10) UNIQUE(2) Alter T
15、able StudentDROP COLUMN age(3) AlLTER TABLE StudentMODIFYage number(3) NOT NULL(4) ALTER TABLE StudentADD CONSTRAINT PK_Student PRIMARY KEY(S#)(5) ALTER TABLE SCDROP CONSTRAINT FK_SC(三) 视图的定义和删除1视图的定义CREATE VIEW剥图名(列名1,列名2,)/列名一定要放在括号里AS 查询WITH CHECK OPTION |WITH READ ONLY例如:CREATE VIEW cs_view (sno
16、, name, age)AS SELECT s#, sname, ageFROM studentWHERE Dept = 计算机系WITH READ ONLY;(1) WITH CHECK OPTION表示对视图进行UPTATE,INSERT,DELETE操作时要保证 更新,插入,删除的行满足视图定义中的谓词条件(即子查询中的条件表达式) WITH READ ONLY表示视图是只读的(2) 视图的属性列名只能是全部缺省或全部指定,没有别的选择。但在下列两种情况下必 须明确指定组成视图的列名。1) 某个目标列不是单纯的属性名,而是聚集函数或列表达式。2) 多表连接时选出几个同名列作为视图的字段。
17、(3) 子查询可以是任意的SELECT子句,但通常不允许含有OREER BY子句各DISDINCT 短语。(4) 不是所有视图都是可更新的1) 基于联接查询的视图不可更新2) 使用了函数的视图不可更新3) 使用了分组操作的视图不可更新4) 只有建立在单个表上而且没有使用函数的视图才是可更新的2 视图的删除DROP VIEW 视图名CASCADE(四)索引的定义和删除1索引的定义CREATE UNIQUE I CLUSTER INDEX 索引名ON (列名 , 次序.)例如:CREATE UNIQUE INDEX SCno on SC(Sno ASC Cno DESC);(1)UNIQUE表明此
18、索引的每一个索引值只对应唯一的数据记录(2)CLUSTER表示要建立的索引是聚簇索引。聚簇索引是指索引项的顺序与表中的物理顺序一致的索引组织,在一个表上只能建立 一个聚簇索引。(3)次序可选ASC (升序)或DESC (降序)缺省值为ASC2索引的删除DROP INDEX 索引名DROP INDEX SCno;三数据更新(一)插入数据INSERT插入数据通常有两种形式,一种是插入一个元组,另一种是插入子查询结果。 后者可以一次插入多个元组。1插入一个元组INSERTINTO 表名( ,)VALUES( ,)例如 INSERTINTO Student (Sno, Sname, Ssex, Sde
19、pt, Sage)VALUES (20081512,陈冬,男,IS , 18);INTO语句中没有出现的属性列,新元组在这些列上将取空值或默认值。在INTO子句中只指出了表名,没有指出属性名,新元组要在所有属性列上都指定值,属性列 的次序与CREATE TABLE中的次序相同。2 插入子查询结果INSERTINTO 表名( ,)子查询;例如 INSERTINTO Dept_age( Sdept ,Avg_age)SELECT Sdept ,AVG(Sage)FROM StudentGROUP BY Sdept;(二)修改数据UPDATE 表名SET =,=.WHERE ;例如:UPDATE S
20、tudentSET Sage=22WHERE Sno=200215021;(三)删除数据DELETEFROM 表名WHERE ;例如:DELETEFROM StudentWHERE Sno=20021528;DELETE语句删除的是表中的数据,而不是关于表的定义。四数据查询基本数据查询的格式:SELECT ALL | DISTINCT 目标列表达式AS别名,标列表达式AS别名.FROM 名或视图名 , 表名或视图名.WHERE 查询表达式GROUP BY 列名 1HAVING 条件表达式 ORDER BY 列名 2ASC|DESC;(一)单表查询在一个表中查询数据S#Age01Sa2002Sb
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库基础知识个人整理版 强烈推荐 数据库 基础知识 个人 整理
链接地址:https://www.31ppt.com/p-5306267.html