数据库原理复习

第一章

数据库特点
1.数据结构化
2.数据的共享性高、冗余度低且易扩充
3.数据独立性高
4.数据由数据库管理系统统一管理和控制

两类数据模型
第一类概念模型
第二类逻辑模型和物理模型

信息世界的概念
实体
属性

实体集
联系

数据模型通常由数据结构、数据操作、数据的完整性约束条件三部分组成

数据库的结构三级模式/二级映像、

数据库系统的组成
数据库、数据库管理系统、人员

第三章 SQL语言
SQL语言的特点
综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供多种使用方式

SQL分为数据定义、数据查询、数据更新、数据控制

P80 模式 三种 外模式 内模式 模式

P81模式的定义与删除
定义模式
定义模式的语句
CREATE SCHEMA 模式名 AUTHORIZATION
如果没有指定用户名,那么模式名隐含为用户名

例3.1:为用户WANG定义一个学生-课程模式S-T
CREATE SCHEMA “S-T” AUTHORIZATION WANG

例3.2:为用户ZHANG创建一个模式TEST,并且在其中定义一个表TAB1
CREATE SCHEMA TEST AUTHORIZATION ZHANG
CREATE TABLE TAB1(COL1 SMALLINT,COL2 INT,COL3 CHAT(20),COL4 NUMERIC(10,3),COL5 DECIMAL(5,2));

删除模式 语句
DROP SCHEMA 模式名<CASCADE|RESTRICT>
选择cascade会导致删除模式把所有其他的对象全部删除
选择restrict如果模式下有对象,拒绝删除命令

例3.4:删除模式ZHANG及其下面的表
DROP SCHEMA ZHANG CASCADE

P82数据表的定义、删除与修改
定义基本表
例3.5:建立一个“学生”表Student
CREATE TABLE Student(sno CHAR(9) PRIMARY KEY,sname CHAR(20) UNIQUE,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20));

例3.6:建立一个“课程”表Coures
CREATE TABLE Courses(Cno CHAR(4) PRIMARY KEY,Cname CHAR(40) NOT NULL,Cpno CHAR(4),Ccredit SMALLINT,FOREIGN KEY(Cpon) REFERENCES Course(Cno));

例3.7:建立学生选课表SC
CREATE TABLE SC(sno CHAR(9),cno CHAR(4),grade SMALLINT,PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno) REFERENCES Student(Sno),FOREIGN KEY(Cno) REFERENCES Coures(Cno));

主码外码,约束类型都要注意

P83数据类型
选择合理的数据类型
CHAR(n)长度为n的字符串
VARCHAR(9)最大长度为n的变长字符串
CLOB字符串大对象
BLOB二进制大对象
INT长整型(4字节)
SMALLINT短整型(2字节)
BIGINT大整形(8字节)
NUMERIC(p,d)定点数由p位数字组成,小数点后面由d位数字
FLOAT(n)可选精度的浮点型
BOOLEAN逻辑布尔量
DATE日期YYYY-MM-DD
TIME时间HH:MM:SS

P85数据表定义修改 alter table 删除drop

修改基本表
例3.8 向Student表中增加“入学时间“列,其数据类型为日期型
ALTER TABLE Student ADD S_entrance DATA;

例3.9 将年龄的数据类型由字符型改为整数
ALTER TABLE Student ALTER COLUMN Sage INT;

例3.10 增加课程名称必须取唯一值的约束条件
ALTER TABLE Coures ADD UNIQUE(Cname);

删除基本表
删除CASCADE;全部删除
RESTRICT有依赖删不了
例3.11 删除Student表
DROP TABLE Student CASCADE;

索引P88 create index drop index
例3.13 为学生-课程数据库中的Student、Course和SC三个表中建立索引,其中Student表按照学号升序建唯一索引,Course表按课程号升序建唯一索引,SC表按学号升序和课程号降序建唯一索引
CREATE UNIQUE INDEX Stusno ON Student(Sno);
CREATE UNIQUE INDEX Coucno ON Course(Cno);
CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC);

删除索引
例3.15 删除Student表中的Stusname索引
DROP INDEX Stusname;

数据查询 select gruop by order by
单表查询
例3.16 查询全体学生的学号与姓名
SELECT Sno,Sname FROM Student;

例3.17 查询全体学生的姓名、学号、所在系
SELECT Sname,Sno,Sdept FROM Student;

例3.18 查询全体同学的详细记录
SELECT * FROM Student;

例3.19 查询全体学生的姓名及其出生年份
SELECT Sname,2014-Sage FROM Student;

例3.10查询全体学生习惯吗。

where后面不能用聚合函数

P93 逻辑运算符有哪些

消除重复行distinct

between and前后

like模糊 通配符 下划线 百分号

字符串可以正常匹配

空值处理 null

P97聚合函数都要会用

count sum avg max min

having group by的搭配使用

order by 升序降序

P99连接查询

等值非等值

自然连接 消除重复的列

自身连接

P103例题3.54多表连接要表的数量n-1

P104嵌套查询

不相关子查询

增删改查

视图的创建删除creat view 名字 as

不能视图上建立基本表

视图是从一个或几个基本表导出的表

第五章

数据库完整性是指的数据的正确性和相容性

实体完整性 主码

参照完整性 外码 关联别人的主码

用户定义完成行 check

第七章数据库设计

六个阶段
需求分析阶段
概念结构分析阶段
逻辑结构设计阶段
物理结构设计阶段
数据库实施阶段
数据库运行和维护阶段

E-R图 实体 属性 联系


评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注