数据库原理总复习.docx

上传人:b****6 文档编号:8090983 上传时间:2023-05-12 格式:DOCX 页数:23 大小:27.63KB
下载 相关 举报
数据库原理总复习.docx_第1页
第1页 / 共23页
数据库原理总复习.docx_第2页
第2页 / 共23页
数据库原理总复习.docx_第3页
第3页 / 共23页
数据库原理总复习.docx_第4页
第4页 / 共23页
数据库原理总复习.docx_第5页
第5页 / 共23页
数据库原理总复习.docx_第6页
第6页 / 共23页
数据库原理总复习.docx_第7页
第7页 / 共23页
数据库原理总复习.docx_第8页
第8页 / 共23页
数据库原理总复习.docx_第9页
第9页 / 共23页
数据库原理总复习.docx_第10页
第10页 / 共23页
数据库原理总复习.docx_第11页
第11页 / 共23页
数据库原理总复习.docx_第12页
第12页 / 共23页
数据库原理总复习.docx_第13页
第13页 / 共23页
数据库原理总复习.docx_第14页
第14页 / 共23页
数据库原理总复习.docx_第15页
第15页 / 共23页
数据库原理总复习.docx_第16页
第16页 / 共23页
数据库原理总复习.docx_第17页
第17页 / 共23页
数据库原理总复习.docx_第18页
第18页 / 共23页
数据库原理总复习.docx_第19页
第19页 / 共23页
数据库原理总复习.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库原理总复习.docx

《数据库原理总复习.docx》由会员分享,可在线阅读,更多相关《数据库原理总复习.docx(23页珍藏版)》请在冰点文库上搜索。

数据库原理总复习.docx

数据库原理总复习

总复习1关系数据库原理

第1、2章关系数据库原理

✓掌握数据库的基本概念掌握ER概念模型掌握关系数据模型

✓掌握ER图转化为关系模式/表掌握关系规范化

◆掌握关系的三种范式

一、数据库的基本概念

✓数据(Data)是数据库中存储的基本对象,是描述事物的符号。

如:

数字、文字、图形、图像、声音等。

✓数据库(Database,DB)是储存在计算机内、有组织的、可共享的数据集合。

✓数据库管理系统(DBMS)是位于用户与操作系统之间的管理数据库的软件。

如:

SQLServer2005

✓数据库系统(DBS)是指在计算机系统中引入数据库后的系统,包括:

计算机系统、数据库、\

数据库管理系统、人员。

二、ER概念模型

✓数据模型的含义是对客观事物及其联系的数据描述,即对现实世界的模拟。

✓数据模型的类型概念数据模型、逻辑数据模型、物理数据模型

✓概念模型的含义对现实世界的认识和抽象描述,是数据库设计人员进行数据库设计的有力工具,\

也是设计人员和用户之间交流的语言。

✓概念模型的表示方法实体联系图(ER图)

✓ER图的基本要素

◆实体:

是客观存在并可以相互区分的事物。

◆属性:

实体和联系所具有的某些特性。

◆实体间的联系一对一联系一对多联系多对多联系

✓ER图的绘制方法

◆长方形——实体椭圆——属性菱形——联系

ER图的设计原则:

1、确定实体类型及属性。

2、确定联系类型及属性。

3、把实体类型和联系类型组合成ER图。

课堂练习:

某工厂生产多种产品,每种产品由不同的零件组装而成,有的零件可用在不同的产品上。

产品有产品号和产品名两个属性,零件有零件号和零件名两个属性。

根据语义设计ER模型。

✓分析:

ER模型中有两个实体,产品(产品号,产品名),零件(零件号,零件名),产品与零件是M:

N的联系。

三、关系数据模型

✓逻辑数据模型:

是用户从数据库所看到的数据模型。

v用概念数据模型表示的数据必须转化为逻辑数据模型表示的数据,才能在DBMS中实现。

◆类型(四种)关系(数据)模型(最常用)SQLServer采用的是关系数据模型。

层次(数据)模型网状(数据)模型面向对象(数据)模型

✓关系数据模型的含义:

用二维表格结构表示实体以及实体之间的联系的数据模型。

✓具有如下性质的二维表格,又称为一个关系。

◆关系中每一个属性值都是不可分解的。

◆关系中不允许出现相同的行。

◆关系中不允许出现相同的列,即列名不能重复

◆行、列顺序无关紧要。

说明:

1个关系就是1张二维表,反过来则不一定。

四、ER图转化为关系模式/表

✓关系模式的表示方法

◆用关系名和包含的属性名的集合表示。

v例如:

Student(SID,Sname,Sex,Birthday,Specialty)

v例如:

SC(SID,CID,Grade)

✓转化原则

✓每个实体转换为一个关系。

✓每个联系也转换成一个关系。

v对于1:

1的联系,每个实体的主码均是该关系的候选码。

v对于1:

n的联系,关系的主码是n端实体的主码。

v对于n:

m的联系,关系的主码是各个实体主码的组合。

✓有相同码的关系可以合并。

课堂练习:

将下面的ER图转化成关系模式,并指出主码与外码。

问题:

在参照完整性中,为什么外键属性的值可以为空?

什么情况下才为空?

答:

(1)外码属性的值可以为空,它表示该属性的值尚未确定。

(2)为空的前提条件是该外码属性不是其所在关系的主属性。

例如:

学生(学号,姓名,性别,专业号)专业(专业号,专业名)

v其中:

专业号是学生表中的一个外码,不是学生表的主属性,可以为空,其语义是该学生的专业尚未确定。

✓但若该外码属性是其所在关系的主属性,则不能为空。

例如:

◆选修(学号,课程号,成绩)课程(课程号,课程名,学分)

v在选修表中,课程号虽然也是一个外部码,但它又是选修表的主属性,所以不能为空,因为关系模型必须满足实体完整性。

五、关系的规范化

✓函数依赖:

是指关系中各属性或属性组之间的相互依赖关系。

✓函数依赖的类型

完全函数依赖部分函数依赖传递函数依赖

✓例如:

SCT(学号,课程号,成绩,教师名,教师地址)

“学号+课程号”→“成绩”,是完全函数依赖。

“教师名”与主码是部分函数依赖。

“课程号”→“教师名”→“教师地址”,则“教师地址”传递依赖于“课程号”。

✓关系规范化的含义:

为了区分关系模式的优劣,把关系模式分为各种不同等级的范式。

将低级范式转换为若干个高级范式过程。

✓范式的类型

◆1NF:

关系模式R的所有属性的值都不可再分解值。

◆2NF:

关系模式R为1NF,且R中每个非主属性完全函数依赖于R的主码(复合码)。

◆3NF:

关系模式R为2NF,且R中每个非主属性都不传递函数依赖于R的每个候选码。

✓将关系模式进行分解:

✓小结:

✓1NF中的每个属性值是不可再分的,它是关系模式的最低要求。

✓消除1NF中的部分函数依赖,可转换为2NF。

✓消除2NF中的传递函数依赖,可转换为3NF。

✓数据库系统不包含数据库管理系统。

✓关系运算中的选择是按照给定的条件选择记录组成一个新的表。

✓关系模式满足第二范式,则它一定满足第一范式

✓参照完整性与引用完整性是两个不同的概念。

✓实体完整性是指表中的每一行都必须能够唯一标识,且不存在重复的数据行。

✓在WindowsXP操作系统上能够安装SQLServer2000个人版的服务器。

第8章T-SQL编程与应用

掌握标识符的命名规则掌握常量与变量的使用掌握局部变量的声明、赋值、显示熟悉常用函数的功能

掌握流程控制语句掌握常用运算符的作用

一、标识符

✓命名规则

✓标识符的长度可以为1-128个字符

✓标识符的第一个字符必须为字母、下划线、@、#

v以@为首的标识符表示1个局部变量。

v以#为首的标识符表示1个临时数据库对象。

v对于表或存储过程,名称前包含一个#时表示局部临时对象,而两个#(“##”)则表示为全局临时对象。

◆标识符内不允许有空格,也不允许为SQL中的关键字

二、常量和变量

✓常量的书写格式取决于它所表示的值的数据类型。

字符型、日期型常量要用单引号括起来。

✓局部变量:

用户自己定义的变量,用于在语句之间传递数据。

局部变量名以@符号开头。

使用时,必须先声明。

✓全局变量:

是系统定义的变量,用于存储系统的特定信息.用户不能建立全局变量,也不能修改其值。

全局变量名以@@符号开头。

二、常量和变量

✓局部变量的声明declare@变量名数据类型[,…n]

注意:

局部变量未被赋值之前,其值为null。

✓局部变量的赋值set@变量=表达式select@变量=表达式[,…n]

✓局部变量的显示print表达式select表达式[,…n]

二、常量和变量

✓局部变量的作用域从声明它的地方开始,到声明它的批处理或存储过程的结尾。

例:

下列语句能否正确执行,为什么?

declare@msgvarchar(50)

set@msg=‘欢迎使用T-SQL语句编程’

go

print@msg

三、函数

✓字符串函数求字符串长len()、转换为大写/小写字母upper()/lower()

✓聚集函数sum()、avg()、max()、min()、count()

✓日期时间函数返回当前系统日期:

getdate()

返回日期的年、月、日:

year(日期)、month(日期)、day(日期)

✓数据类型转换函数转换为字符型数据:

convert()、cast()

四、流程控制语句

✓语句块:

begin…end

✓条件语句:

if…else、ifexists

✓循环语句:

while、break、continue

◆Break用于退出最内层的while循环。

◆Continue用于重新开始一次while循环。

✓等待语句:

waitforwaitfordelay‘时间’|time‘时间’

总复习2数据库和表的管理

第4、5章数据库和表的管理

数据库概述

✓掌握数据库的创建

✓掌握数据库的管理

✓掌握数据表和表约束的创建

✓掌握数据表的管理

✓掌握数据表的操作

✓数据库的设计步骤:

◆收集、分析数据

◆建立概念模型(ER图)

◆建立逻辑模型(关系模式)

◆关系规范化1NF→2NF→3NF

◆创建数据库

一、数据库概述

SQLServer数据库的含义是存放各种对象(表、视图、规则、默认值、存储过程、用户、角色等)的逻辑实体。

✓数据库的结构

◆数据库文件有三种类型:

◆主数据文件(有且只有只有1个,扩展名是.mdf)

◆次数据文件(0个或多个,扩展名是.ndf)

◆事务日志文件(1个或多个,扩展名是.ldf)

◆文件组的类型

v主文件组:

包括主数据文件,没有指明组的其它文件

v次文件组:

用户自定义文件组

一、数据库概述

✓系统数据库(6个)

◆master数据库:

记录了SQLServer实例的所有系统信息。

◆model数据库:

是系统所有数据库的模板。

v所有在系统中创建的新数据库的内容,在刚创建时都和model数据库完全一样。

◆msdb数据库:

用于SQLServer2005代理计划作业和报警。

◆tempdb数据库:

用于保存临时对象或中间结果集以供稍后的处理,SQLServer2005关闭后该数据库被清空。

◆pubs和northwind数据库:

是SQLServer2000中的两个示例数据库,它们可以作为SQLServer的学习工具。

例:

创建d1的数据库

createdatabased1

onprimary

(name=data1,filename=‘d:

\sql\d1_data1.mdf',

size=1,maxsize=10,filegrowth=20%),

(name=data2,filename=‘d:

\sql\d1_data2.ndf',

size=4,maxsize=10,filegrowth=1),

filegroupg1

(name=data3,filename=‘d:

\sql\d1_data3.ndf',

size=5,maxsize=unlimited,filegrowth=1)

logon

(name=log1,filename='d:

\sql\d1_log1.ldf',

size=1,maxsize=unlimited,filegrowth=20%)

二、用户数据库的创建

命令格式

CREATEDATABSE数据库名

[ON[PRIMARY]

([NAME=逻辑文件名,]

FILENAME=‘磁盘文件名'

[,SIZE=初始大小]

[,MAXSIZE=最大容量|unlimited]

[,FILEGROWTH=增长量])[,…n]

[,[FILEGROUP组文件名](……)[,…n]]

[LOGON

([NAME=逻辑文件名,]

FILENAME=‘磁盘文件名’

[,SIZE=初始大小]

[,MAXSIZE=最大容量|unlimited]

[,FILEGROWTH=增长量])[,…n]

✓alterdatabased1

addfilegroupg2

✓alterdatabased1

modifyfilegroupg2name=g3

✓alterdatabased1

removefilegroupg3

✓alterdatabased1

addfile

(name=data4,filename=‘d:

\sql\d1_data4.mdf’,

size=1,maxsize=5,filegrowth=1),

(name=data5,filename=‘d:

\sql\d1_data5.ndf’,

size=1,maxsize=5,filegrowth=1)tofilegroupg1

✓alterdatabased1

addlogfile

(name=log2,filename=‘d:

\sql\d1_log2.ldf’,

size=1,maxsize=5,filegrowth=1)

三、数据库的管理

✓显示数据库[exec]sp_helpdb[数据库名]

✓修改数据库:

alterdatabase……

◆修改数据库名

◆增加文件组

◆重命名文件组

◆删除文件组

◆增加数据库中的次要数据文件和事务日志文件

◆修改文件属性文件的初始大小、最大容量、增长幅度

◆删除数据库中的次要数据文件和事务日志文件

✓alterdatabased1

modifyfile

(name=data2,size=10,maxsize=20,filegrowth=10%)

✓alterdatabased1removefiledata4

✓alterdatabased1modifyname=aa

✓dropdatabaseaa

说明:

当数据库处于下列情况不能被删除。

◆当有用户正在数据库使用时。

◆当数据库正在被恢复时。

◆当数据库正在参与复制时。

四、数据表和表约束的创建

✓建表时要涉及到的问题表的列数、列名每列的数据类型列上的约束:

防止出现非法数据,保证数据完整性。

✓建表的命令格式

◆createtable表名

(字段名类型[(长度)][列级完整性约束条件][,……n])

✓创建表约束的方法建表时:

在每列的定义后,或在所有列定义后创建约束表已存在:

只能通过修改表,添加约束

✓约束的类型

主键(PRIMARYKEY)约束惟一(UNIQUE)约束

外键(FOREIGNKEY)约束检查(CHECK)约束

默认值(DEFAULT)约束空值(NULL)约束

✓主键约束与惟一性约束的区别:

◆表中只能定义1个主键约束,但可定义多个惟一约束。

◆定义了惟一约束的列可以为空值,而定义了主键约束的列不能为空值。

课堂练习:

创建一个test数据库,该数据库的主要文件逻辑名称为test,物理文件名称为test.mdf,物理文件路径为E:

\练习数据,初始大小为10MB,最大容量为无限大,增长幅度为10%;数据库日志文件逻辑名称为test_log,物理文件名称为test_log.ldf,物理文件路径为F:

\练习日志,初始大小为1MB,最大容量为5MB,增长幅度为1MB。

CREATEDATABASEtest

实例:

在图书管理数据库(Library)中创建其相应的表及其约束。

◆ReaderType(TypeID,Typename,LimitNum,LimitDays)

◆Reader(RID,Rname,TypeID,Lendnum)

◆Book(BID,Bname,Author,PubComp,PubDate,Price)

◆Borrow(RID,BID,LendDate,ReturnDate)

ONPRIMARY

(NAME=test,

FILENAME=‘E:

\练习数据\test.mdf’,

SIZE=10,

MAXSIZE=unlimited,

FILEGROWTH=10%)

LOGON

(NAME=test_log,

FILENAME=‘F:

\练习日志\test_log.ldf’,

SIZE=1,

MAXSIZE=5,

FILEGROWTH=1)

数据表和表约束的创建2

✓USELibrary

✓GO

✓CREATETABLEReader

/******列级定义和约束******/

RIDchar(10)NOTNULLPRIMARYKEY,

Rnamechar(8)NULL,

TypeIDintNULL,

LendnumintNULL

/******表级定义和约束******/

FOREIGNKYE(TypeID)REFERENCESReaderType(TypeID)

ONDELETENOACTION

数据表和表约束的创建1

✓USELibrary

✓GO

✓CREATETABLEReaderType

TypeIDintNOTNULLPRIMARYKEY,

Typenamechar(8)NULL,

LimitNumintNULL,

LimitDaysintNULL

数据表和表约束的创建3

✓USELibrary

✓GO

✓CREATETABLEBook

BIDchar(9)PRIMARYKEY,

Bnamevarchar(42)NULL,

Authorvarchar(20)NULL,

PubCompvarchar(42)NULL,

PubDatedatetimeNULL,

Pricedecimal(7,2)NULLCHECK(Price>0)

数据表和表约束的创建4

✓USELibrary

✓GO

✓CREATETABLEBorrow

/******列级定义和约束******/

RIDchar(10)NOTNULL

FOREIGNKYEREFERENCESReader(RID)ONDELETECASCADE,

BIDchar(9)NOTNULL

FOREIGNKYEREFERENCESBook(BID)ONDELETENOACTION,

LendDatedatetimeNOTNULLDEFAULT(getdate()),

ReturnDatedatetimeNULL

/******表级定义和约束******/

PRIMARYKEY(RID,BID,LendDate)

五、数据表的管理

✓修改表结构:

altertable表名……

◆增加列:

add列定义……

◆修改列:

altercolumn列定义……

◆删除列:

dropcolumn列名

✓重命名数据表:

[exec]sp_rename表名,新表名

✓删除数据表:

droptable表名……

五、数据表的管理

实例1:

为表“Book”添加“ISBN”列和一个标识列“BookID”

◆ISBN是国际标准书号,由5段13位数字组成,每段数字之间以“-”隔开。

◆如该书的ISBN号是:

978-7-115-19345-2

五、数据表的管理实例:

删除表“Book”中的“ISBN、BookID”列。

实例1:

为表“Reader”添加读者“张子建”的部分信息。

USELibrary

GO

INSERTReader(RID,Rname,TypeID,Email)

VALUES(‘200186010’,‘张子建’,1,‘zhangzi@’)

GO

实例2:

将读者类型表“ReaderType”中学生的限借数量增加2本,限借天数增加5天。

UPDATEReaderType

SETLimitNum=LimitNum+2,LimitDays=LimitDays+5

WHERETypename=‘学生’

实例3:

删除表“StudentIM”中学号为“2005216118”的学生信息。

USEEDUC

GO

DELETEStudentIMWHERESID=‘2005216118’

六、数据表的操作

✓插入数据

insert[into]表名[(字段名列表)]

values(字段值列表)

✓修改数据

◆update表名

set{列名=表达式|null|default}[,…n])

[where逻辑表达式]

✓删除数据

◆delete表名[where逻辑表达式]

总复习3查询和视图

一、查询的类型

✓关系的运算:

投影、选择、连接

✓简单查询对一张表的原始数据进行查询

✓汇总查询对表中数据进行求总和、求平均、求最大值、求最小值的查询

✓连接查询从多个相关的表中查询数据

✓子查询是指一条select语句作为另一条select语句的一部分,外层的select语句被称为外部查询,内层的select语句被称为内部查询(或子查询)

二、简单查询

✓语句格式

◆select字段列表

from表名

where条件

三、数据汇总查询

✓使用的方法有二种:

◆使用聚合函数(sum、avg、count、max、min)

例:

分析下列查询语句执行的功能和结果。

◆selecttop5BID,Bname,AuthorfromBook

◆selectBID,Bname,Author,PubComp,Price,Price*0.9

fromBook

◆selectBIDAS读者编号,BnameAS书名,AuthorAS作者,出版社=PubComp,

原价=Price,折价=Price*0.9

fromBook

◆selectTypeID,Typename,LimitNum,‘册’,LimitDays,‘天’fromReaderType

使用groupby子句

✓Select语句的格式

select列名表

from表名[,……n]

[where条件]

[groupby列名]

[having逻辑表达式]

[orderby列名]

三、数据汇总查询

✓聚合函数的语句格式:

◆select聚合函数([*|all|distinct]列名)from表名

[where条件]

✓说明:

◆当select子句中有聚合函数且没有groupby子句时,就不能再指定其它的列名。

◆All:

计算该列值非空的记录的个数,默认为all。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2