
《数据库技术与应用》(胡翔).doc
25页《数据库原理及应用》自学指导书《数据库原理及应用》自学指导书20142014级铁道运营管理大专班中南大学广铁函授站目录目录 1《数据库原理与应用》教学大纲 3一、 课程概述 3二、 教学目的和要求 3三、 授课学时 3四、 考核方式 3第一章 数据库概述 41. 数据处理技术发展经历 42. 数据库系统的组成 43. 数据库管理系统的优点 4第二章 数据库系统结构 51. 数据和数据模型 52. 概念层数据模型 53. 组织层数据模型 64. 数据库系统的结构 75. 数据库管理系统的功能 8第三章 SQL语言基础及数据定义功能 91. SQL的定义及特点 92. SQL语言的功能 93. 基本表的创建、删除以及对表结构的修改 94. 数据完整性检查 11第四章 数据操作 131. 数据库查询 132. 数据库操作 17第五章 视图 191. 视图的定义与作用 192. 视图的创建 193. 通过视图查询数据 194. 撤消 20第七章 数据库保护 211. 事务 212. 数据库的并发控制 213. 数据库的备份与恢复 21第八章 数据库设计(SQL Server ) 221. 数据库设计的基本步骤 222. 概念结构设计 223. 逻辑结构设计 23《数据库原理与应用》教学大纲一、 课程概述数据库原理与应用是一门专业技术基础课,是计算机领域中最重要的技术之一,是软件学科的一个独立分支,包括数据库系统理论与数据库设计与应用两大部分。
通过对本课程的学习,可以获得有关数据库系统的基本理论知识,提高计算机理论水平;另一方面,通过对数据库系统理论的分析以及对数据库设计理论的学习,并结合相关学科的理论与实践知识,可以培养解决信息管理与工程设计中的实际问题的能力二、 教学目的和要求本课程在介绍数据库的基本知识、基本理论原理、方法技术的基础上,通过实验使学生掌握数据库创建、维护、查询等操作,并能运用数据库的基本知识和软件工程的基本思想进行数据库的设计与实现三、 授课学时学时:16(包含授课和实验) 四、 考核方式期末考试为笔试(开卷),期末考试成绩占总评成绩的70%第一章 数据库概述1. 数据处理技术发展经历数据管理技术的发展过程经历了人工管理阶段(40年代中--50年代中)、文件系统阶段(50年代末--60年代中)和数据库系统阶段(60年代末--现在)2. 数据库系统的组成数据库系统包括了以数据为主体的数据库、管理数据库的系统软件DBMS,支持数据库系统运行的计算机硬件环境和操作系统环境以及用户(系统管理员、应用程序开发人员、最终用户)3. 数据库管理系统的优点相互关联的数据的集合 较少的数据冗余 程序与数据相互对立保证数据的安全、可靠最大限度地保证数据的正确性数据可以并发使用并能同时保证一致性第二章 数据库系统结构1. 数据和数据模型 (1) 数据(Data)是数据库中存储的基本对象,有文字、图形、图像、声音等数据种类,它们是描述事物的符号记录,主要特点是数据与其语义是不可分的。
2) 数据模型在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息,通俗地讲数据模型就是现实世界的模拟① 数据模型分成两个不同的层次:概念模型,也称信息模型,它是按用户的观点来对数据和信息建模 组织模型,主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模② 组织模型的组成三要素:数据结构、数据操作和数据的约束条件数据结构是对象类型的集合,对系统静态特性的描述;数据操作是对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则,包括检索和更新操作(包括插入、删除、修改)数据完整性约束是指数据库中存储的数据是有意义的或正确的③码:唯一标识实体的属性集称为码;域:属性的取值范围称为该属性的域;E-R模型表达方式:用矩形表示实体型,矩形框内写明实体名;用椭圆形表示属性;用菱形表示联系,菱形框内写明联系名2. 概念层数据模型(1) 概念模型(E-R图描述)概念模型:概念模型用于信息世界的建模,是现实世界到机器世界的一个中间层次,是数据库设计的有力工具,E-R模型是概念模型的一种常见表达方法①实体:客观存在并可相互区别的事物称为实体;在E-R图中用矩形框表示实体,把实体名写在框内,比如学生实体可以表示为:②属性:实体所具有的某一特性称为属性;③联系:现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系;实体之间的联系用菱形框表示,框内写上联系名,并用连线与有关的实体相连。
2) 数据联系(联系类型)实体内部的联系:一个实体内属性之间的联系职工实体内部的职工号和此职工的部门经理号实体之间的联系:不同实体之间的联系课程实体和学生实体之间存在选课联系联系分为一对一(1:1)、一对多(1:N)、多对多(M:N)等联系;一对一(1:1):如果实体A中的每个实例在实体B中至多有一个(也可以没有)实例与之关联,反之亦然,则称实体A与实体B具有一对一联系,记作:1 : 1一对多(1:N):如果实体A与实体B之间存在联系,并且对于实体A中的一个实例,实体B中有多个实例与之对应;而对实体B中的任意一个实例,在实体A中都只有一个实例与之对应,则称实体A到实体B的联系是一对多的,记为1 : n 多对多(M:N):如果实体A与实体B之间存在联系,并且对于实体A中的一个实例,实体B中有多个实例与之对应;而对实体B中的一个实例,在实体A中也有多个实例与之对应,则称实体A到实体B的联系是多对多的,记为m : n 3. 组织层数据模型 (1) 关系数据模型的数据结构①把数据看成是二维表中的元素,而这个二维表就是关系用关系(表格数据)表示实体和实体之间联系的模型称为关系数据模型示例:学生基本信息表②几个基本术语:关系 :关系就是二维表。
并满足如下性质:关系表中的每一列都是不可再分的基本属性;表中的行、列次序并不重要元组:表中的每一行称作是一个元组,它相当于一个记录值属性:表中的每一列是一个属性值的集合,列可以命名,称为属性名主码:表中用于惟一地确定一个元组的一个属性或最小的属性组如:学生基本信息表:(学号,姓名,年龄,性别,所在系)学生修课信息表:(学号,课程号,成绩)域:属性的取值范围如性别的域为:(‘男’,‘女’)(2) 关系模型的数据操作关系数据模型的数据操作主要包括四种:查询、插入、删除和修改数据3) 关系数据模型的数据完整性约束①实体完整性实体完整性是保证关系中的每个元组都是可识别的和惟一的 而且表中不允许存在如下的记录:无主码值的记录主码值相同的记录②参照完整性参照完整性一般是指多个实体(表)之间的关联关系 一般用外码实现外码:取作本表(子表)属性之一的外表(父表,主表)主码主码值先在主表中生成,后在子表中引用见书P19例1例2③用户定义的完整性按应用语义,属性数据有:类型与长度限制:方便计算机操作取值范围限制:防止属性值与应用语义矛盾例:成绩取[0 .. 100],{优、良、中、及格、不及格} 4. 数据库系统的结构三级模式结构(局部(外)、全局(概念)、存储(内))两级映象(局部/全局、全局/存储)5. 数据库管理系统的功能数据定义 数据操作优化和执行 数据安全和完整性 数据恢复和并发 数据字典 性能第三章 SQL语言基础及数据定义功能1. SQL的定义及特点SQL是关系数据库访问的标准语言, 它具有以下特点:综合统一高度非过程化语言简洁,易学易用,共9个动词以同一种语法结构提供两种使用方法 (命令方式和嵌入方式) 2. SQL语言的功能四部分:数据定义功能、数据控制功能、数据查询功能和数据操纵功能。
3. 基本表的创建、删除以及对表结构的修改(1) 定义基本表①使用SQL语言中的CREATE TABLE语句实现,其一般格式为:CREATE TABLE <表名>( <列名> <数据类型> [列级完整性约束定义]{, <列名> <数据类型> [列级完整性约束定义] … }[, 表级完整性约束定义 ] )在列级完整性约束定义处可以定义的约束:NOT NULL:限制列取值非空DEFAULT:给定列的默认值UNIQUE:限制列取值不重CHECK:限制列的取值范围PRIMARY KEY:指定本列为主码FOREIGN KEY:定义本列为引用其他表的外码使用形式为:[FOREIGN KEY(<外码列名>)] REFERENCES <外表名>(<外表列名>)②约束定义:列取值非空约束 <列名> <类型> NOT NULL 例:sname char(10) NOT NULL表主码约束在定义列时定义主码(仅用于单列主码)列定义 PRIMARY KEY例: SNO char(7) PRIMARY KEY在定义完列时定义主码(用于单列或多列主码)PRIMARY KEY (<列名序列>) 例: PRIMARY KEY(SNO) PRIMARY KEY(SNO,CNO)外码引用约束指明本表外码列引用的表及表中的主码列。
[ FOREIGN KEY (<本表列名>)]REFERENCES <外表名>(<外表主码列名>)例: FOREIGN KEY (sno) REFERENCES 学生表(sno)③举例创建学生表CREATE TABLE Student ( Sno char ( 7 ) PRIMARY KEY, Sname char ( 10 ) NOT NULL, Ssex char (2), Sage tinyint , Sdept char (20 ))创建课程表CREATE TABLE Course ( Cno char(10) NOT NULL, Cname char(20) NOT NULL, Ccredit tinyint , Semester tinyint, PRIMARY KEY(Cno) )创建SC表CREATE TABLE SC ( Sno char(7) NOT NULL, Cno char(10) NOT NULL, Grade tinyint, XKLB char(4) , PRIMARY KEY ( Sno, Cno ), FOREIGN KEY ( Sno ) REFERENCES Student ( Sno ), FOREIGN KEY ( Cno ) REFERENCES Course ( Cno ) )(2) 删除表当确信不再需要某个表时,可以将其删除删除表时会将与表有关的所有对象一起删掉,包括表中的数据。
删除表的语句格式为:DROP TABLE <表名> { [, <表名> ] … }例:。
