志在指尖
用双手敲打未来

数据库系统原理(课后答案)

数据库系统原理

一.什么是数据库
狭义:存储数据的库房
广义:可以对数据进行存储和办理的软件以及数据自身统称为数据库
界说:是长期存储在计算机内的、有安排的、可同享的数据集合
数据库是由表、联络、操作组成
二.为什么需求数据库
几乎一切的运用软件的后台都需求数据库
数据存储数据占用空间小,简单耐久保存
数据库的内容是存储在硬盘上,掉电之后任然存在
1
存储比较安全
软件是加密的,只能经过DBMS翻开
1
简单维护和晋级
运用SQL句子便利操作数据
1
数据库移植比较简单
简化对数据的操作
数据库是第四代言语,是一些命令
为将来学习Oracle做准备
B/S架构里边包含数据库
三.准备知识
1.学习数据库有必要要学习数据库原理吗?
是滴,数据库原理是理论知识,数据库软件是对数据库的完结
2.学习SQLserver有必要先学一门编程言语吗?
不需求,可是懂一门编程言语有助于学习SQLserver中的TL-SQL
TL-SQL带有流程操控的SQL命令
3.数据结构和数据库的差异?
数据库:是在运用软件等级研讨数据的存储和操作(外存等级)
数据结构:是在体系软件等级研讨数据的存储和操作(内存等级)
4.什么是衔接
5.有了编程言语为什么还需求数据库
保存数据的容器:数组、集合、文件
其间数组、集合是临时性存储
文件是耐久化存储
对内存数据操作是编程言语的强项,但对硬盘数据操作却是编程言语的弱项
对硬盘数据操作却是数据库强项,是数据库研讨核心
6.主张初学者从三个方面学习数据库
数据库是怎么存储数据的
字段记载表束缚(主键、外键、仅有键、非空、check、default、触发器)

数据库

数据库

什么是束缚
界说:对一个表中的特色操作的限制叫束缚
分类:
主键束缚:不答应重复元素,避免了数据冗余
主键界说:可以仅有标识一个事物的一个字段或多个字段的组合
主键表:含有主键字段的表
注:主键通常是整数,不主张运用字符串(除非主键用于集群式(个机器)服务可考虑)
主键的值通常都不答应修正,除非本记载被删去
主键不要界说成id,而要界说成表名id或表名_id
要用署理主键,不要用业务逻辑主键(用一个没有实际意义的编号当主键)
外键束缚:经过外键束缚从语法上,确保了本事物所相关的其他事物必定是存在的
事物和事物的联络是经过外键来表现的
外键界说:假如一个表中的若干个字段是来自别的若干个表的主键或仅有键,则这若干个字段便是外键
外键表:含有外键字段的表,外键字段来自的那一张表叫主键表
注:外键通常是来自别的表的主键而不是仅有键,由于仅有键或许是null
外键不用定来自别的的表,也或许来自本表的主键
先删去主键表仍是外键表?
答:先删去外键表
假如先删去主键表,会报错,由于这会导致外键表中的数据引证失败
check束缚:确保事物特色的取值在合法规模内
default束缚:确保事物特色必定会有一个值
仅有(unique)束缚:确保了事物特色的取值不答应重复,但答应其间有一列为空
注:SQLserver只答应一个unique列为空
Oracle运转多个unique列为空
notnull束缚:要求用户有必要为该特色赋一个值,否则语法犯错
假如一个字段不写null也不写notnull,则默许值是null,即答应为空
注:null和default差异
同:都答运用户不赋值
不同:null润饰的字段假如用户不赋值则默许是null
default润饰的字段假如用户不赋值则默许是default指定的那个值
表和束缚的差异
数据库是经过表来处理事物的存储问题
数据库是经过束缚来处理事物取值有效性和合法性的问题
建表的进程便是指定事物特色和事物特色中各种束缚的进程
1
2
3
什么是联络
界说:表和表之间的联络
完结办法:经过设置不同办法的外键来表现表和表之间的不同联络
表和表之间的联络分类(假设有A表和B表):
1对1
既可以把表A的主键充当表B的外键
也可以把表B的主键充当表A的外键
多对一
在多的一方添加外键
多对多
多对多有必要经过第三张表来表明联络
比如:
班级是一张表
老师是一种表
班级和老师联络是一张表
多对多联络图示
数据库存储数据的特色:
将数据放到表中,表再放到库中
一个数据库中可以有多个表,每个表都有一个名字,用来标识自己。表名具有仅有性
表具有一些特性,这些特性界说了数据在表中怎么存储。相似于Java的类
表由列组成,咱们也称为字段,一切的表都是由一个或多个列组成的,每一个列类型Java中的特色
表中数据是按行存储的,咱们成为一个元组,每一行相似与Java中的方针
数据库是怎么操作数据的
insertdeleteupdateT-SQL存储进程函数触发器
1
数据库是怎么显示数据的
select
1
7.数据库软件
好处:
可将数据耐久化到硬盘
可存储很多数据
便利检索
确保数据的一致性、完好性
安全,可同享
经过组合剖析,可以产生新的数据
8.常见的数据库产品
大型数据库:
Oracle:甲骨文公司,产品不花钱,服务维护收费高
DB2:IBM,运用于海量数据
1
2
中型数据库
SQLServer:微软公司(只能装在windows上)
1
小型数据库
MySQL:甲骨文公司,开源免费,任何OS都可以
1
数据库公司开展
开展历程
9.数据库的分类
1.联络型数据库:
数据库中的数据是以表格的办法存储的,表格是有行有列的办法。
联络型数据库常见的数据库:mysqloraclesqlserverdb2webserver…
2.非联络型数据库:(nosql数据库)完好的概念:notonlysql
数据库中存储数据的格局不是表格,有些是以文档办法存储,有些以列办法存储,有些以键值对办法存储。
常用的非联络型数据库:redismongodbhbase…
四.数据库相关概念
1.数据库的根本概念
D
数据(data):描绘事物的符号记载(量化特征描绘+非量化特征描绘)
例如:数字、文字、图形、音频、视频
1
数据分类:
结构化数据
行数据,存储在数据库中,可以用二维表结构来逻辑表达完结的数据
1
非结构化数据
不便运用数据库二维逻辑表来表现的数据
例如:
办公文档、文本、图片、图形、音频、视频
数据内容:
型(type):数据表明办法
值(value):给出了复合给定的值
DB
数据库(database):存放数据的库房,保存了一系列有安排的数据
特色:具有统一的结构办法并存放于统一的存储介质内,可被各种运用所同享
是按数据所供给的数据办法存放
例如:联络数据库中:数据库的表现便是二维表
DBS
数据库体系:计算机体系引进数据库和DBMS之后的完好体系
包含:
数据库
数据库办理体系
数据库办理人员
硬件渠道
软件渠道
DBMS
数据库办理体系(DatabaseManagementSystem):是一个体系软件,数据库是经过DBMS创建和操作的容器。咱们平常说学数据库,便是学习这个数据库软件
SQL
结构化查询言语(StructureQueryLanguage):专门用来与数据库通讯的言语
DBAS
数据库运用体系(DatabaseApplicationSystem):由数据库体系+运用软件+运用界面构成
数据流程图(DFD)
数据字典(DD)
2.数据库技能与软件工程的联络
(1).软件工程概念
界说
以工程化的思想来开发软件
用工程、科学、数学的准则与办法来开发、维护计算机软件的有关技能和办理办法
1
软件工程的三要素:办法、工具、进程三部分组成
(2).数据库工程
分为数据库规划+相应的运用规划与完结
数据库运用体系的规划开发有必要有软件进程模型作为指导
典型的软件开发模型:
瀑布模型
瀑布模型进程六阶段:项目规划—-体系剖析—-总体规划—-详细规划—-编码调试与集成测验—-运转维护
快速原型模型
快速原型模型进程五阶段:快速剖析—-规划结构原型—-运转原行—-评价原型—-改善原型
螺旋模型
螺旋模型进程四阶段:项目规划—-危险评价—-工程完结—-用户评价
3.数据库运用体系(DBAS)的生命周期模型
(1).5个根本活动
参照软件工程中软件开发瀑布模型原理
1.项目规划
规划与剖析的首要内容
1.体系规划与界说:使命陈述、确认使命方针、确认规模和鸿沟、确认用户视图
2.可行性剖析:技能、经济、操作可行性及开发计划挑选
3.项目规划:项目团队、环境、活动,本钱预算,进度计划
2.需求剖析
界说:
需求剖析是在计算机体系的软件功用分配和软件规划之间起重要桥梁效果的一项软件工程活动。描绘待开发的体系所要完结的功用。
方针:
方针是深入描绘软件的功用和功用,确认软件规划的束缚和软件同其它体系元素的接口细节,界说软件的其它有效性需求
获取需求的办法:
面谈、实地调查、问卷调查、查阅资料
进程:
A、标识问题:需求剖析的第一步,经过对问题和标识获得的对一切求解问题及其运转环境的了解。
B、树立需求模型:目前在信息体系的需求剖析中可运用结构化剖析模型或面向方针剖析模型。
C、描绘需求:需求、功用、信息、功用、环境、其他需求。
D、确认需求:需求确认及评定。审核功用需求、
数据需求、功用、数据办理及其他需求。
需求剖析中运用的办法:
结构化剖析与建模办法(SAD,StructuredAnalysisDesign)
如:DFD建模(表现业务流程)、IDEF建模
结构化剖析使命:
树立剖析模型(SA)包含:功用模型、数据模型和行为模型
编写标准阐明书(SRS)
结构化剖析指导思想:
笼统与分化
DFD需求建模办法:
数据流图(DataFlowDiagram,DFD)
从运用体系的数据流着手以图形办法描写和表明一个详细业务体系的数据处理进程和数据流
数据流:
数据流是数据在体系内传达的路径,因而由一组成分固定的数据组成。
如订票单由旅客名字、年纪、单位、身份证号、日期、意图地等数据项组成。
由于数据流是流动中的数据,所以有必要有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。
数据源(终点)
代表体系之外的实体,可以是人、物或其他软件体系。
对数据的加工(处理)
加工是对数据进行处理的单元,它接纳必定的数据输入,对其进行处理,并产生输出。
数据存储
表明信息的静态存储,可以代表文件、文件的一部分、数据库的元素等
DFD建模进程(是对功用进行建模)
(1)明确方针,确认体系规模。
(2)树立顶层DFD图
(3)构建第一层DFD分化图。
(4)开发DFD层次结构图(准则:坚持均匀的模型深度,按困难程度挑选)。
(5)查看确认DFD图。
DFD实例:教材购销体系
IDEF0需求建模办法(ICAMDEFinitionMethod)
最常运用的是IDEF0~IDEF4:
IDEF0:描绘体系功用及其相互联络;
IDEF1:体系信息及其数据之间联络;
IDEF2:体系模拟,动态建模;
IDEF3:进程描绘及获取办法;
IDEF4:面向方针规划;
面向方针剖析与建模办法(OOAD)
如:UML用例建模
UML办法选用面向方针思想建模,运用用例图来描绘体系功用需求。
用例图由体系、人物、用例三种模型元素及其之间的联络构成
4
精确了解与剖析用户需求(包含数据与处理)
最困难、最耗费时间的一步
需求剖析进程由需求获取、需求剖析、需求描绘与标准阐明、需求验证等进程组成
1
各种需求的首要作业:
1.数据需求剖析:描绘用户需求安排的信息内容
构成数据字典
2.功用需求剖析:描绘体系做什么
数据处理需求剖析、业务规则需求剖析
剖析与描绘方针体系的总体结构、功用活动及各功用活动之间的联络
3.功用需求剖析:描绘体系应当做到什么程度
数据操作呼应时间、体系吞吐量、硬件资源、单位时间内可以完结的查询数量和业务数量
4.其他需求:存储需求、安全性需求、备份与恢复需求
3.体系规划
假如需求剖析阶段的使命是处理“干什么”的问题,那么体系规划阶段的使命是确认“怎么干”
体系规划包含:
概念规划:数据库概念模型规划、体系总体规划
逻辑规划:数据库逻辑结构规划、运用程序概要规划、数据库业务概要规划
物理规划:数据库物理结构规划、数据库业务详细规划、运用程序详细规划
1
2
3
4完结与布置
也成为DBAS的施行。需求根据规划成果树立数据库,编写运用程序,集成DBAS软硬件,组成完好的DBAS。
包含树立数据库结构,数据加载,业务和运用程序的编码及测验,体系集成、测验与运转,体系布置。
5.运转于维护
首要包含日常维护、体系监控与剖析、体系功用优化调整、体系进化晋级等。
这些作业首要由DBA担任
(2).3条规划主线
根据DBAS的软件组成和各自功用
分类为:
1.数据安排与存储规划
2.数据拜访与处理规划
3.运用规划
别离用于:
规划数据库、数据库业务和运用程序
(3).3个进程
根据数据库体系三级办法结构,DBAS规划阶段分为
1.概念规划
2.逻辑规划
3.物理规划
五.数据库的开展
1.数据办理
数据处理:
对各种数据进行采集、存储、检索、加工、传达、和运用等一系列活动的总和
数据办理:
对数据进行有效的分类、安排、编码、存储、检索、维护、运用,是数据处理的中心问题。
2.数据办理技能的产生和开展
数据办理技能应数据办理使命的需求而产生的。
人工办理姐阶段
20世纪50年代曾经
数据是面向运用程序的
文件体系阶段
20世纪50年代后期——60年代中期
由专门的软件对数据进行统一办理
缺点:
1.数据同享性差
2.数据独立性差
3.数据孤立、数据获取困难
4.完好性问题
5.原子性问题
原子性:确保数据库数据一致性,有些操作要么都产生要么都不产生
6.并发拜访异常
7.安全性问题
数据库办理体系阶段
20世纪60年代后期
出现了统一办理数据的专门软件体系——数据库办理体系(DBMS)
DBMS特色:
1.数据结构化
数据内部结构化+数据之间联络+考虑某个运用数据结构,还要整个安排数据结构
2.数据的同享度高,冗余度低,易扩展
3.数据独立性高
数据独立性经过数据库办理体系的两层映像功用来完结
4.数据由数据库办理体体系一办理和操控
1.数据的安全性维护
2.数据的完好性查看
3.并发操控
4.数据库恢复
3.数据库运用
图书馆办理
书店办理
教学办理
科研办理
银行办理
售票办理
电信办理
证券办理
出售办理
制造业办理
固定资产办理
人力资源办理
六.数据库体系
数据库体系(databasesystem,DBS):指在计算机体系中引进数据库后的体系
结构:
1.从DBMS视点看(内部结构):
数据库体系结构是:外办法/办法/内办法的三级办法
2.从用户视点看(外部结构):
分为单用户结构、主从式结构、分布式结构、客户/服务器、浏览器/应用服务器/数据库服务器
组成:
1.数据库
用户数据:结构化联络(二维表)安排的一切业务数据集合
元数据:对联络数据库结构的描绘数据和数据库的有关统计数据,也成为数据字典
数据字典详细包含以下内容:
1.一切方针的界说,如:数据库、表、视图、索引、聚集、进程、函数、触发器
2.数据库方针的逻辑空间与物理空间的对应联络,以及当前运用情况
3.列的默许值
4.完好性束缚信息
5.用户的称号、登录密码
6.审计信息
7.其他数据库信息,如加锁信息
索引:改善数据库的功用和可拜访性而树立的附加数据
运用元数据:用户窗体、报表、查询和其他办法的运用组件
1
2
2.数据库办理体系
是一组软件,担任数据库的拜访、办理和操控。用户对数据库的各种操作恳求,都有DBMS来完结,供给数据库的操作环境。
常见DBMS:Oracle、MSSQLserver、DB2、Sybase、Access、Mysql、FoxPro
(1).DBMS的功用:
1.数据界说
2.数据安排、存储和办理
3.数据操纵
4.数据库的业务办理和运转办理
5.数据库的树立和维护
6.数据通讯接口
6
(2).DBMS的组成:
办法更新
对数据库的逻辑结构进行修正
查询
对数据库中数据的查询有两种办法:接口查询;运用程序调用接口
更新
包含插入、删去、修正
查询处理器
功用:将用户的查询和更新命令转变为数据库上的操作序列,并执行这些操作
查询处理器担任对查询和更新操作进行语法剖析,转化和优化,
产生查询和更新操作怎么被执行的操作序列
使命:
1.对用户恳求的SQL操作进行查询优化,然后找到一个最优的执行战略,然后向存储器宣布命令,使其执行
2.把用较高档的言语所表明的数据库操句子转化成一系列对数据库操作的恳求
联络数据库办理体系一般向用户供给多种办法的言语:
交互式言语:SQL
嵌入式言语:嵌入式C、嵌入式COBOL
进程化言语:存储进程、T-SQL、PL/SQL
DBMS对各种数据库操作言语的处理进程:
1.DDL句子:首先将它翻译成内部表明,存储在体系的数据字典中。联络型数据库数据字典选用表的办法存储
2.DCL句子:DCL的界说部分,如安全保密界说、存取权限界说、完好性束缚
3.DML句子:转化为一串可执行的存取动作
数据字典是DML句子处理、执行以及联络数据库办理体系运转办理的根本根据
存储办理器
根据执行战略,从数据库中获取相应的数据,或更新数据库中的相应数据
业务办理器
担任资源办理、业务调度、确保数据库的一致性,确保多个同时运转的业务不产生抵触,以及确保当体系产生毛病时数据不丢掉
业务被正确执行时的ACID特性:原子性、一致性、阻隔性、耐久性
确保业务被正确执行的技能:
1.封闭办理
业务T在对某个数据方针(表、记载)进行操作之前,先向体系宣布恳求,对其加锁。
2.业务办理
是用户界说的一个数据库操作序列,这些操作要么全做要么都不做,是一个不行分割的作业单位
3.日志办理
日志文件用来记载业务对数据库的更新操作的文件
日志办理包含:写日志记载、读日志记载、扫描日志记载、撤销尚未完毕的业务和重做现已完毕的业务
3.运用体系
4.数据库体系相关人员
(1).数据库办理员(databaseadministrator,DBA)
(2).最终用户
七.数据笼统和数据库的三级办法
数据库办理体系首要意图:躲藏关于数据存储和维护的某些细节,为用户供给数据在不同层次上的视图,即数据笼统,便利运用者从不同的视点去调查和运用数据库中的数据
1.数据笼统
物理层笼统(最底层笼统)
描绘数据实际上是怎样存储的
详细描绘复杂的底层数据的存储结构和存取办法
逻辑层笼统
描绘数据库中存储什么数据以及这些数据之间存在什么联络
视图层笼统(最高层次的笼统)
只描绘整个数据库的某个部分,即它是数据库的部分逻辑结构
2.数据库三级办法结构
界说:
数据库办理体系供给调查数据库的3个不同视点,以便利不同的用户运用数据库的需求
办法(schema):
是数据库中全体数据的逻辑结构和特征的描绘,它仅仅触及模型的描绘,不触及详细的值
数据库三级办法结构
界说:指数据库办理体系供给的外办法、办法、内办法3个不同笼统等级调查数据库中数据的视点
办法(逻辑办法)
对应于逻辑层数据笼统,是数据库中全体数据的逻辑结构和特征描绘,是一切用户的公共数据视图
DBMS供给数据界说言语DDL来严厉界说办法
外办法(用户办法)
对应于视图层数据笼统,是数据库用户(包含运用程序员)可以看见和运用的部分数据的逻辑结构和特征描绘,是数据库用户的数据视图,与某一个具有运用有关
外办法确保了数据库的安全,每个用户只能看见和拜访所对应的外办法中的数据,数据库其余数据是不行见的
DBMS供给子办法界说言语DDL严厉界说子办法
内办法(存储办法)
对应于物理层数据笼统,是数据物理结构和存储办法的描绘,是数据在数据库内部的表明办法
DBMS供给了内办法描绘言语DDL严厉界说内办法
3.数据库的两层映像与数据独立性
为了可以在DBMS的内部完结这3个笼统层次的联络和转化,DBMS在三级办法之间供给了两层映像:
外办法/办法映像、办法/内办法映像
这两层映像确保了数据库办理体系中数据可以具有较高的逻辑独立性和物理独立性
外办法/办法映像(确保了数据与运用程序的逻辑独立性)
办法描绘的是数据的全局逻辑结构,外办法描绘的是数据的部分逻辑结构
对应于一个办法可以有多个外办法,每一个外办法DBMS都有一个办法/外办法映像
当办法改动时(改动联络的结构、特色称号、数据类型等),由数据库办理员对外办法/办法映像作出改动,使外办法坚持不变,进而运用程序不用修正
办法/内办法映像(确保了数据和运用程序的物理独立性)
数据库中只要一个办法,也只要一个内办法
界说了数据全局逻辑结构与存储结构之间的对应联络
当数据存储结构改动了,由数据库办理员对办法/内办法映像作出相应的改动,可以使办法坚持不变,然后运用程序也不用修正
4.数据库三级办法与三层模型的联络与差异
数据库三级办法结构是指一个DBMS的体系结构,供给办法、外办法、内办法3个不同视点调查数据库中数据,完结对用户屏蔽DBMS的复杂性,简化交互
数据模型描绘数据结构、数据操作、数据束缚的数学办法体系。三层数据模型:概念模型、逻辑模型、物理模型。
联络
差异
他们的意图和作业不一样
三级办法是DBMS的体系结构,意图是:
躲藏数据存储和维护的细节,为用户供给数据在不同的层次上的视图,便利运用者从不同视点调查和运用数据
支持数据独立性的完结
全体结构化的需求,然后使数据同享度高,冗余度低,易扩大
部分支持安全性的完结
三层模型是数据库规划的工具个办法,意图是:
较实在的模拟现实国际,简单被人了解,便于计算机完结
全体结构化的需求,是数据同享度高,冗余度低
满足DBMS三级办法结构的要求

数据库系统原理课后答案

https://www.docsj.com/doc/3f3861788.html

未经允许不得转载:IT技术网站 » 数据库系统原理(课后答案)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载