版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十九课:数据库(一)
周甫zoofchow@学习目标了解关系型数据库系统
1熟练应用SQL语言
2
MSSQLServer的基本使用方法3掌握E-R模型的概念和方法
41数据库的基本概念什么是数据(Data)?
数据是描述事物的符号记录。可以是数字、字符、图形、图像、声音等。元数据
描述数据的数据数据库(DB)
数据库长期存放在计算机内的、有组织的、可共享的数据集合。数据库管理系统(DBMS)
数据库管理系统:数据管理软件,功能包括:数据定义功能,如定义一个表的结构;数据操纵功能:查询、插入、删除、修改数据库的运行管理;保证系统的正常运行数据库的建立和维护功能。数据库系统(DBS)
由数据库、数据库管理系统、应用系统和数据库用户构成的系统。2关系数据库的特点什么是关系型数据库? 关系型数据是以关系数学模型来表示的数据。关系数学模型中以二维表的形式来描述数据。 如图:关系型数据库的特点:采用数据模型表示复杂的数据结构数据冗余度小有较高的数据独立性提供数据控制功能(见下页)为用户提供方便的用户接口数据控制功能功能描述措施安全性控制保护数据以防止不合法的使用所造成的数据泄露和破坏用户验证与授权,存取控制完整性控制数据的正确性、有效性、相容性完整性约束条件定义和检查恢复控制在数据库遭到破坏或数据不可靠时,系统有能力把数据库恢复到最近的某个正确的状态。备份并发控制对多用户的并发操作加以控制、协调,防止其互相干扰而得到错误的结果并使数据库完整性遭到破坏。加锁3数据的描述
概念设计中的数据描述
数据库的概念设计是根据用户的需求设计数据库的概念结构,一般有以下几个部分需要考虑:实体:现实世界中客观存在的事物。实体集:具有相同属性的实体的集合。属性:实体的特征。实体标识符:能够唯一的确定一个实体的属性。逻辑设计中的数据描述
逻辑设计是根据概念设计得到的概念结构来进行数据库的逻辑结构设计。字段:用于表示实体的属性,每一个属性可以对应一个字段。记录:字段的集合称为记录。每一个记录代表一个实体。文件:同一类记录的集合组成一个文件。文件用于描述实体集。关键码:能够唯一标识文件中每一条记录的字段或字段集。对应于实体标识符。
物理介质的数据描述 物理介质中的数据描述指的是数据在计算机中的存储形式,包括以下一些信息: 位(Bit) 字节(Byte) 字(Word) 块(Block) 桶(Bucket) 卷(Volume)
4数据联系的描述联系的定义:联系是实体之间的相互关系,与一个联系有关的实体集个数,称为联系的元数。二元联系的三种类型1∶1联系——实体集E1中的每一个实体至多和E2中的一个实体有联系,反之亦然。1∶N联系——实体集E1中的每一个实体与E2中任意个实体有联系,而E2中每个实体至多和E1中的一个实体有联系。M∶N联系——实体集E1中的每一个实体与E2中任意个实体有联系,反之亦然。
5数据模型数据模型是能够表示实体模型和实体之间联系的模型。数据模型包括两种:一种是独立于计算机系统的数据模型;另一种是直接面向数据库逻辑结构的数据模型。
前者最著名的有实体关系(ER)模型;后者有层次模型、网状模型、关系模型。以及目前正在研究的面向对象的数据模型。数据模型的三要素:数据结构 数据结构是指对实体类型和实体之间联系的表达和实现。数据操作 数据操作是指对数据库的查询、修改、删除和插入等操作。数据完整性约束 数据完整性约束定义了数据及其联系应该具有的制约和依赖规则。
概念数据模型:实体联系模型
实体联系模型简称为E-R模型,该模型直接从现实世界中抽象出实体类型和实体之间的联系,然后用实体联系图(E-R图)表示数据模型。E-R图由以下一些部分组成:矩形框:表示实体类型。菱形框:表示联系类型。椭圆形框:表示实体类型和联系类型的属性。连线:实体与属性之间,联系与属性之间用直线连接;联系类型与其涉及的实体类型用直线连接,并标注联系的类型。
年龄读者借阅图书姓名读者号单位归还日期借阅日期书号出版社结构数据模型:关系模型
关系模型的主要特点是以二维表的形式来表达实体集。它是由若干个关系模式组成的集合。二维表格简单易懂,用户只需要使用简单的查询语句就可以对数据库进行操作,并不涉及存储结构、访问技术等细节。 对关系的理论和实验研究集中于20世纪70年代,80年代初形成产品,并很快得到了广泛的应用和普及,并最终取代基于层次模型、网状模型的数据库而成为商用数据库系统的主流。关系数据库是本课程介绍的主要内容。5数据库三级模式结构数据库的体系结构分成三级:外部级、概念级和内部级。外部级 外部级最接近用户是单个用户所能看到的数据特征,单个用户使用的数据视图的描述称为“外模式”。概念级 概念级涉及到所有用户的数据定义,也就是全局性的数据视图,全局数据视图的描述称为“概念模式”。内部级 内部级最接近于物理存储设备,涉及到物理数据存储的结构。物理视图的描述称为“内模式”。*
三级结构的五个要素概念模式外模式内模式模式/内模式映像外模式/模式映像*两级数据的独立性
数据的独立性是指应用程序和数据库的数据结构之间相互独立,不受影响。物理数据独立性(物理独立性)
数据库内模式的修改尽量不影响概念模式、外模式和应用程序,只需要修改模式/内模式映像即可。逻辑数据独立性(逻辑独立性)
数据库概念模式的修改不影响外模式和应用程序,只需要修改外模式/模式映像即可。
6数据库三个范式关系数据库设计之时是要遵守一定的规则的。尤其是数据库设计范式现简单介绍1NF(第一范式),2NF(第二范式),3NF(第三范式)和BCNF.第一范式(1NF): 在关系模式R中的每一个具体关系r(表)中,如果每个属性值都是不可再分的最小数据单位,则称R是第一范式的关系。 例:如职工号,姓名,电话号码组成一个表(一个人可能有一个办公室电话和一个家里电话号码)规范成为1NF有三种方法:
一是重复存储职工号和姓名。这样,关键字只能是电话号码。
二是职工号为关键字,电话号码分为单位电话和住宅电话两个属性
三是职工号为关键字,但强制每条记录只能有一个电话号码。
以上三个方法,第一种方法最不可取,按实际情况选取后两种情况。
第二范式(2NF):
如果关系模式R(U,F)中的所有非主属性都完全依赖于任意一个候选关键字,则称关系R是属于第二范式的。
例:选课关系SCI(SNO,CNO,GRADE,CREDIT)其中SNO为学号,CNO为课程号,GRADEGE为成绩,CREDIT为学分。由以上条件,关键字为组合关键字(SNO,CNO)
在应用中使用以上关系模式有以下问题:
a.数据冗余,假设同一门课由40个学生选修,学分就重复40次。
b.更新异常,若调整了某课程的学分,相应的元组CREDIT值都要更新,有可能会出现同一门课学分不同。
c.插入异常,如计划开新课,由于没人选修,没有学号关键字,只能等有人选修才能把课程和学分存入。
d.删除异常,若学生已经结业,从当前数据库删除选修记录。某些门课程新生尚未选修,则此门课程及学分记录无法保存。
原因:非关键字属性CREDIT仅函数依赖于CNO,也就是CREDIT部分依赖组合关键字(SNO,CNO)而不是完全依赖。
解决方法:分成两个关系模式SC1(SNO,CNO,GRADE),C2(CNO,CREDIT)。新关系包括两个关系模式,它们之间通过SC1中的外关键字CNO相联系,需要时再进行自然联接,恢复了原来的关系第三范式(3NF):
如果关系模式R(U,F)中的所有非主属性对任何候选关键字都不存在传递信赖,则称关系R是属于第三范式的。
例:如S1(SNO,SNAME,DNO,DNAME,LOCATION)各属性分别代表学号,姓名,所在系,系名称,系地址。 关键字SNO决定各个属性。由于是单个关键字,没有部分依赖的问题,肯定是2NF。但这关系肯定有大量的冗余,有关学生所在的几个属性DNO,DNAME,LOCATION将重复存储,插入,删除和修改时也将产生类似以上例的情况。
原因:关系中存在传递依赖造成的。即SNO->DNO。而DNO->SNO却不存在,DNO->LOCATION,因此关键辽SNO对LOCATION函数决定是通过传递依赖SNO->LOCATION实现的。也就是说,SNO不直接决定非主属性LOCATION。
解决目地:每个关系模式中不能留有传递依赖。
解决方法:分为两个关系S(SNO,SNAME,DNO),D(DNO,DNAME,LOCATION)
注意:关系S中不能没有外关键字DNO。否则两个关系之间失去联系。*7创建数据库以SQLSERVER2000为例,在该数据库管理系统里面创建数据库.Step1:首先打开企业管理器: 然后鼠标放数据库选项上面点右键选择----新建数据库 在名称里写上数据库的名字 然后选择数据文件选项—看文件属性边框里内容选项----选择文件自动增长 在下面的两个边框里可以设置一些参数-----文件增长和最大文件大小 然后选日志文件选项操作同上
Step2打开创建数据库的界面
输入名字。如:student然后选择------数据文件选项修改文件属性
同样的选择-------事物日志点击确定就创建好数据库了。使用查询分析器创建数据库的操作:打开查询分析器:上面的SQL代码如下:--=============================================--BasicCreateDatabaseTemplate--=============================================--IFEXISTS(SELECT*-- FROMmaster..sysdatabases
--- WHEREname=N'<database_name,sysname,test_db>')-- DROPDATABASE<database_name,sysname,test_db>--GO----CREATEDATABASE<database_name,sysname,test_db>--GO---上面是创建数据库的模板IFEXISTS(SELECT* FROMmaster..sysdatabases
WHEREname='javadb') DROPDATABASEjavadbGOCREATEDATABASEjavadbGO创建表下面是用查询分析器创建表:代码如下--=============================================--Createtablebasictemplate--=============================================--IFEXISTS(SELECTname-- FROM sysobjects
-- WHEREname=N'<table_name,sysname,test_table>'-- AND type='U')--DROPTABLE<table_name,sysname,test_table>--GO--CREATETABLE<table_name,sysname,test_table>(--<column_1,sysname,c1><datatype_for_column_1,,int>NULL,--<column_2,sysname,c2><datatype_for_column_2,,int>
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园防骗防拐演练
- 知荣辱课件教学课件
- 食品安全与健康相关
- 退行性脊椎病X线
- 酶促反应原理临床治疗
- DB1304T 488-2024大丽花露地栽培技术规程
- 聪聪课件 教学课件
- 高温烫伤应急预案演练
- 肺全切术后护理查房
- 运动治疗仪器及使用方法
- 汽车租赁项目可行性分析报告
- 6-7高原弥散式氧气机说明书
- 重金属废水采用反渗透技术工艺处理的原理
- 研究生课程《广义函数与Sobolev空间》教学大纲
- 妇幼保健院重点学科带头人选拔与考核激励机制
- 部编教材九年级历史(上)全册教案
- 农业部-世界银行气候智慧型农业项目
- 高中化学基础知识竞赛试题及答案共六套
- 大班科学《我们身体的洞》22张幻灯片
- 唐雎不辱使命课件(共张PPT)
- 武汉理工网络《证券法》试题及其答案
评论
0/150
提交评论