数据库总结报告.docx

上传人:牧羊曲112 文档编号:5306313 上传时间:2023-06-24 格式:DOCX 页数:35 大小:124.67KB
返回 下载 相关 举报
数据库总结报告.docx_第1页
第1页 / 共35页
数据库总结报告.docx_第2页
第2页 / 共35页
数据库总结报告.docx_第3页
第3页 / 共35页
数据库总结报告.docx_第4页
第4页 / 共35页
数据库总结报告.docx_第5页
第5页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《数据库总结报告.docx》由会员分享,可在线阅读,更多相关《数据库总结报告.docx(35页珍藏版)》请在三一办公上搜索。

1、湖南商学院学年论文(课程设计)耕南商学知学年论文题 目数据库课程总结报告学生胡砚东姓名学150940006号学计算机与信息工程院专业信管1501班级指导教师职称曾强聪教授2017 年6月目录I目录1II引言21第一章绪论31.1 数据库学习要素1.2 知识清单2第二章 相关理论概述132.1数据库的概念2.2结构化查询语言SQL、SELECT语句2.3关系模型与范式2.4数据建模2.5实体联系模型.设计、为实体创建表2.6触发器级联更改3第三章 学习数据库的态度183.1学习态度4第四章学习内容理解194.1数据库的学习内容:基于实例的内容理解5第五章总结评审表32引言数据库(Database

2、)是按照数据结构来组织、存储和管理数据的仓 库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是 二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转 变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最 简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库 系统都在各个方面得到了广泛的应用。在信息化社会,充分有效地管理和利用各类信息资源,是进行科 学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自 动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研 究和决策管理的重要技术手段。第一章绪论1.1数据库学习要素1. 传统数据库系统可以分成网状数

3、据库。层次数据库和关系数据库 三大类。2. 早期的网状数据库模型中以记录为数据的存储单位,每个记录有 一个唯一标识他的内部标识符,称为键,它在一个记录存入数据库时 由DBMS自动赋予。在查找语句中不但要说明查找的对象,而且要规定存取路径。3. 层次数据库中最基本的数据关系是基本层次关系,它代表两个 记录型之间一对多的关系。数据库中有且仅有一个记录型无双亲,称为根结点。其他记录型 有且仅有一个双亲。4. 关系数据库以二维表来表示关系。5. 第三页,数据库系统的体系结构图。1.26. 在数据库系统中,可以使用两个描述形式表示客观世界的数据, 即物理数据描述和逻辑数据描述。物理数据和逻辑数据之间的转

4、换通 过数据库管理系统来实现。7. 逻辑数据包含两个层次:一是对客观世界的描述;二是对数据库管理系统中数据的描述。对客观世界描述的术语包括:实体,实体集,属性,标识符在DBMS中数据描述的术语包括:字段,记录,文件,关系,关 键码8. 数据独立性是指应用程序不会因为物理表示和访问技术的改变 而改变。数据独立性包括物理独立性和逻辑独立性。物理独立性:即当数据的物理结构(如存储结构、存储位置和存 取方法等)发生改变时,数据库的逻辑结构并不受到影响,因而也不 会引起应用程序的改变。逻辑独立性:即当数据库总体结构(如数据的定义、数据类型、 数据间的联系等)发生时,无需修改原来的应用程序。9. 数据库系

5、统的三级模式结构:外模式、模式和内模式。模式实际上是数据库的逻辑视图,也称逻辑模式,是数据库中全 体数据的逻辑结构和特征的描述,也是所有用户的公共数据视图。一 个数据库只有一个模式。外模式是用户与数据库系统的接口,是用户用到的那部分数据的 描述。它是数据库用户能够看见和使用的局部数据的逻辑结构和特征 描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表 示。一个数据库可以有多个外模式。内模式是数据库在物理存储方面的描述,它定义所有内部记录类 型、索引和文件的组织方式,以及数据控制方面的细节。一个数据库 只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数 据库内部的表示方式。提

6、供两级映像:外模式/模式映像和模式/内模式映像。外模式/模式映像保证了数据与程序的逻辑独立性模式/内模式映像保证了数据与程序的物理独立性10. 数据库系统软件有:数据库管理系统,支持DBMS运行的操作 系统,具有与数据库接口的高级语言以及编译系统,各种基于数据库 的应用软件。11. 随着计算机网络技术的发展,在许多新的数据库应用领域面前, 传统的数据库技术面临挑战。其主要表现在以下几个方面:环境的变化,数据类型的变化,数据来源的变化,数据管理要求 的变化。1. 数据模型应满足三方面的要求:能比较真实的模拟现实世界,容易被人们理解,便于在计算机上 实现。2. 模型分为概念模型和数据模型两个层次。

7、概念模型是按用户的观点对数据和信息建模;数据模型是按计算 机系统的观点对数据建模,主要用于DBMS的实现,主要包括网状模 型、层次模型和关系模型等。3. 数据模型通常由数据结构、数据操作和完整性约束条件三部分组 成。4. 两个实体之间的联系有三类:一对一,一对多,多对多。5. ER图表示方法:实体用矩形表示,属性用椭圆形表示,联系用 菱形表示。6. 层次数据模型满足两个条件:(1)有且只有一个节点没有双亲结点(2)根结点以外的其他节点有且只有一个双亲节点。主要优点:(1)层次数据模型本身比较简单。(2)层次模型对具有一对多的层次关系的部门描述非常自然、直 观,容易理解(3)层次数据模型提供了良

8、好的完整性支持主要缺点:(1)在现实世界中有很多非层次性的联系,层次模型难以表示。(2)对于插入和删除操作的限制比较多(3)查询子结点必须通过父结点(4)由于结构严密,层次命令趋于程序化7. 网状数据模型满足两个条件:(1)允许一个以上的结点无父结点(2)一个节点可以有多于一个的父结点主要优点:(1)网状模型能够更直接的描述现实世界(2)具有良好的性能,存取效率较高主要缺点:(1)网状数据模型结构比较复杂,应用系统越大,数据库的结构 越复杂(2)网状数据库的用法比较复杂,用户不容易掌握8. 关系数据模型:用二维表表示实体和实体间的联系、/4注意:(1)关系表中的每一列都是不可再分的基本字段,不

9、能表中套套(2)关系表中的字段不能重名主要优点:(1)关系模型是建立在严格的数学概念基础上的,以集合论、关 系代数为基础(2)关系模型的概念单一,数据结构简单,用户易懂易用(3)具有较高的数据独立性主要缺点:运行效率不够高9.SQL语言可以对基本表和视图进行各种操作。2.2知识清单数据库系统:用户系统、应用系统、数据库管理系统DBMS、数据 库DB数据库系统种类:1. 个人数据库.Access,基于文件构建小规模2. 服务器数据库(企业级),SQL Server, MySQL3. 分布式数据库应用于大规模使用关系型数据库构建:建库、表,表中的列(字段)产生表结构,行(记录)产生数据存储单位,并

10、建立视图完成1. 数据库管理系统功能:数据定义(DDL)、数据操纵(DML)、数 据库的运行管理和控制。具体功能包括:数据的安全性保护、数据的 完整性控制、数据库恢复、并发控制、事务支持、数据库的建立与维 护。2. 数据库系统三级模式结构:外模式、模式、内模式。模 式:也称逻辑模式,总体描述了数据库中全部数据的逻辑结 构和特征。关系数据库中对应基本表。一个数据库仅一个模式。外模式:又称子模式,从模式中导出的子集,与某应用相关的数 据的逻辑描述。关系数据库中对应视图与部分基本表。一个数据库可 以有多个外模式。内模式:又称存储模式,数据库中全体数据的物理实现。关系数 据库中对应存储文件。一个数据库

11、只有一个内模式。3. 数据模型三种类型(不同的应用层次):概念数据模型、逻辑数 据模型、物理数据模型。数据模型3要素:数据结构、数据操作、完 整性约束。概念数据模型:设计数据库初始阶段,数据库的设计人员独立于 计算机和DBMS,对现实世界中数据特征进行抽象。(E-R模型)概念数 据模型必须换成逻辑数据模型,才能在DBMS中实现。逻辑数据模型:数据库管理系统(DBMS)的实现,既面向用户又面 向系统。常用模型有:层次模型、网状模型、关系模型、面向对象模 型。物理数据模型:是面向计算机物理表示的模型,每一种逻辑数据 模型在实现时都有起对应的物理数据模型二、关系数据库1. 关系数据库基本术语关系:一

12、个关系就是一个二维表,表名即关系名。属性:属性为二维表的列,属性个数为关系的元数(度),列的 值为属性值,取值范围为值域。关系模式:关系名(属性1,属性2,属性3.)。元组:二维表的一行。分量:元组中的一个属性值。候选码:即候选键。唯一标识该关系元组的属性(或属性组)。主码:主键。指定一个候选码唯一标识元组。主属性:候选码中的属性。外码:即外键。不是本关系的主码,同时是另一个关系的主码。参照关系:外码作为主码的关系称为参照关系,也称主关系;外 码所在的关系称非参照关系,也称从关系。2. 关系数据库重要概念基本表(CREATE TABLE、DROP TABLE、ALTER TABLE):定义表的

13、各 个属性必须指明其数据类型和长度。基本表定义一旦被删除,表中的 数据和在此表上建立的索引都将自动被删除掉。而视图仍然保留,但 已失效。索引(CREATE INDEX、DROP INDEX):索引是对数据库表中一列或 多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特 定信息。聚集索引中键值的逻辑顺序决定了表中相应行的物理顺序。(类似 于字典按字母先后顺序组织)。所以一个表只有一个聚集索引。视图(CREATE VIEW、DROP VIEW):视图是从其他基本表和视图导 出的表,是一个虚表。即:数据库中只存放视图的定义,而不存放视 图对应的数据,数据仍然存放在导出该视图的表中。也以在一

14、个视图(或多个视图和基本表)上定义新的视图。对某些可更新视图的更新 转换成对相应基本表的更新。不是所有视图都是可更新的。事务:对数据库的一系列操作。特点是:原子性、一致性、隔离 性、持久性。即:要么所有操作都做,要么都不做。触发器:触发器是一类特殊的存储过程,在对表或者视图进行Insert, Delete和Update操作时,它就会被激发开始运行。函数依赖:如果属性集合Y中每个属性的值构成的集合唯一地决 定了属性集合X中每个属性的值构成的集合,则属性集合X函数依赖 于属性集合Y,即Y-X。函数依赖的逻辑蕴含:设有关系模式R(U)及其函数依赖集F,如 果对于R的任一个满足F的关系r函数依赖X-Y

15、都成立,则称 F逻辑蕴涵X-Y,或称XY可以由F推出。第一范式:无重复的列。第二范式:非主属性完全依赖于主键。第三范式:属性不依赖于其他非主属性。3. 关系数据库完整性约束、关系代数、SOL语言(深入学习再总结)-数据操作SELECT -从数据库表中检索数据行和列INSERT -向数据库表添加新数据行DELETE -从数据库表中删除数据行UPDATE -更新数据库表中的数据-数据定义CREATE TABLE -创建一个数据库表DROP TABLE -从数据库中删除表ALTER TABLE -修改数据库表结构CREATE VIEW -创建一个视图DROP VIEW -从数据库中删除视图CREAT

16、E INDEX -为数据库表创建一个索引DROP INDEX -从数据库中删除索引CREATE PROCEDURE -创建一个存储过程DROP PROCEDURE -从数据库中删除存储过程CREATE TRIGGER -创建一个触发器DROP TRIGGER -从数据库中删除触发器CREATE SCHEMA -向数据库添加一个新模式DROP SCHEMA -从数据库中删除一个模式CREATE DOMAIN -创建一个数据值域ALTER DOMAIN -改变域定义DROP DOMAIN -从数据库中删除一个域-数据控制GRANT -授予用户访问权限DENY -拒绝用户访问REVOKE -解除用户

17、访问权限第二章相关理论概述2.1数据库的概念数据库是依照某种数据模型组织起来并存放二级存储器中的数据 集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个 特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对 数据的增、删、改、查由统一软件进行管理和控制。从发展的历史看, 数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。2、 数据库体系结构外模式(子模式)模式内模式视图二维关系表(子表)(功能工程)子逻辑层逻辑层物理层(独立)物理隔图1数据库体系结构2.2结构化查询语言SQL、SELECT语句SQL语言,是结构化查询语言(Structured Query Langu

18、age)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、 更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。SQL DML 和 DDL可以把SQL分为两个部分:数据操作语言(DML)和数据定义语 言(DDL)。SQL (结构化查询语言)是用于执行查询的语法。但是SQL语言也 包含用于更新、插入和删除记录的语法。查询和更新指令构成了 SQL的DML部分: SELECT -从数据库表中获取数据 UPDATE -更新数据库表中的数据 DELETE - 从数据库表中删除数据 INSERT INTO -向数据库表中插入数据SQL的数据定义语言(DDL)部分使我们有能力创建

19、或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。SQL中最重要的DDL语句: CREATE DATABASE -仓0建新数据库 ALTER DATABASE -修改数据库 CREATE TABLE -仓0建新表 ALTER TABLE -变更(改变)数据库表 DROP TABLE -删除表 CREATE INDEX -创建索引(搜索键) DROP INDEX -删除索引2.3关系模型与范式关系模型中常用的关系操作包括:选择(select)、投影(project)、连接 (join)、除(Divide)、并(Union)、交(Intersection)、差(Diffe

20、rence)等查询 (Query)操作和增加(Insert)、删除(Delete)、修改(Update)操作两大部分。 查询的表达能力是其中最重要的部分。范式:1NF:在关系模型中,对域添加的一个规范要求,所有的域都应该 是原子性的,即数据库表的每一列都是不可分割的原子数据项,而不 能是集合,数组,记录等非原子数据项。2NF:在1NF的基础上,非码属性必须完全依赖于码在1NF基础 上消除非主属性对主码的部分函数依赖3NF:第三范式(3NF )要求一个关系中不包含已在其它关系已包含 的非主关键字信息。BCNF :对第三范式的修正,使数据库冗余度更小。z用户系统应用系统数据库数据库管理系统y 数据

21、库2.4数据建模E-R数据建模I概念模型逻辑模型物理模型数据分析D基于数据由在DBMSI基于现实构造 逻辑关系构造 建立(机器)模型1、E-实体(是现实中可独立存在的元素)用属性描述特征2、标识符每个实体都有标识符,用来唯一标记实体属性3、R-联系属性物理关系1: 1 一对一联系1: n 一对多联系n: m多对多联系概念模型现实世界逻辑世界对象|斗概念演化逻辑模型(表、关联)把数据库模型转变成数据库设计规则概念逻辑模型映射1、基于范式规则对数据表进行优化概念逻辑映射规则2、(1)实体之间1:1联系两个实体可合为一个实体表映射实体之间1:n联系两个实体分别映射为两个实体表,其中关键属性映射为主键

22、, 主表中主键引入从表作为外键,其中1的一端(必有)为主表,n的一 端(可选)为从表实体之间n:m联系两个实体分别映射为两个实体主表,实体之间联系映射为联系 从表,两个表的主键引入从表外键,并且可作为从表主键2.6触发器触发器是一种特殊类型的存储过程,不由用户直接调用。创建触发器时会对其进行定义,以便在对特定表或列作特定类型的数据修改 时执行。CREATE PROCEDURE或CREATE TRIGGER语句不能跨越批处理。即存储过程或触发器始终只能在一个批处理中创建并编译到一个执行计 划中。用触发器还可以强制执行业务规则。触发器可通过数据库中的相关表实现级联更改;不过,通过级联引用完整性约束

23、可以更有效地执 行这些更改。触发器可以强制比用CHECK约束定义的约束更为复杂的约束。第三章 学习数据库的态度本学期学习数据库态度尚好,迟到2次。学习上首先从基础开始, 比如数据类型、运算符号、关键字等等,然后上升到一些增删改查, 还有触发、存储过程等的使用等等。经过了一学期的学习,我从起初对数据库的认识模糊到后来清晰, 深入,学到了许许多多的东西。当然,在学习中,会遇到困难,但在 自己的学习和老师的帮助下往往能解决疑惑。本学期数据库的学习虽 然结束了,但是仍然有很多知识没有学完,也有更多的知识需要深入 学习,总的来说,对数据库的操作尚生疏,也不免感到学习乏味。但 是,今后将以更加端正的学习态

24、度加深对数据库的自学习。第四章基于图示的数据库理解*以班级、学生、课程、学习为例,构建查询班级(班号,班名)学生(学号,姓名,性别,班号)课程(课程代码,课名)学习(学号,课程代码,成绩)1、查询学生信息Select *From学生Order by班号姓名2、统计学生人数Select count (学生)As 人数From 学生3、分班统计写生人数Select班号.Count (学号)As人数4、查询姓王学生信息Select *From学生Where 姓名:Like 王5查询姓王名单学生信息Select *From 学生Where 姓名 Like 王_6查询选了课程代码A001的学生的人数Se

25、lect count(*) As 学生人数From学习Where课程代码=A0017、按课程统计学生选课人数、最高分、最低分、平均分Select课程代码Count(*) As人数.Max (成绩)As最高分,Min (成绩)As最低分,Avg (成绩)As平均分From 学习Group by课程代码8、按课程统计不及格人数Select 课程代码 Count(*) As 学习人数From 成绩 60Group by课程代码9、多表查询(1)SQl嵌套查询(快、子查询):结果来自一个表,但条件来自 多个表(2)多表连接查询(需要查看结果时选择此查询):结果来自多 个表10、SQL嵌套查询(1)查询

26、王强和刘明两位学生的信息Select *From学生Where姓名in (王强,刘明)(2)查询选了 “数据库原理”的学习人数Select count(*) As 学习人数From 学习Where课程代码in(Select课程代码From课程Where课名=数据库原理)(3)查询课名“C语言”学分不足3的不及格人数Select count(*) As 人数From 学习Where课程代码in (Select课程代码From课程 Where课名=C语言 and学分=3)and成绩6011、多表联接查询(六)使用ER模型进行数据建模=sl)BeginInsert into订购(商品ID,合同ID,

27、合同价,数 量)values(spid,htid,htj,sl);EndEnd基于图示的理解:1、SQL是一种声明式语言2、SQL的语法并不按照语法顺序执行SQL语句的执行顺序跟其语句的语法顺序并不一致。SQL语句的 语法顺序是:SELECTDISTINCTFROMWHEREGROUP BYHAVINGUNIONORDER BY而且:1、FROM才是SQL语句执行的第一步,并非SELECT。数据库 在执行SQL语句的第一步是将数据从硬盘加载到数据缓冲区中,以便 对这些数据进行操作。2、SELECT是在大部分语句执行了之后才执行的,严格的说是在 FROM和GROUP BY之后执行的。理解这一点是

28、非常重要的,这就是 你不能在WHERE中使用在SELECT中设定别名的字段作为判断条件 的原因。3、无论在语法上还是在执行顺序上,UNION总是排在在ORDER BY之前。很多人认为每个UNION段都能使用ORDER BY排序,但是 根据SQL语言标准和各个数据库SQL的执行差异来看,这并不是真 的。尽管某些数据库允许SQL语句对子查询(subqueries)或者派生 表(derived tables)进行排序,但是这并不说明这个排序在UNION操 作过后仍保持排序后的顺序。3、SQL语言的核心是对表的引用(table references)4、灵活引用表能使SQL语句变得更强大5、SQL语句

29、中推荐使用表连接使用JOIN语句的好处在于:安全:JOIN和要连接的表离得非常近,这样就能避免错误。更多连接的方式:JOIN语句能去区分出来外连接和内连接等。6、SQL语句中不同的连接操作SQL语句中,表连接的方式从根本上分为五种:EQUI JOINSEMI JOINANTI JOINCROSS JOINDIVISION7、SQL中如同变量的派生表派生表就是在括号之中的子查询8、SQL语句中GROUP BY是对表的引用进行的操作9、SQL语句中的SELECT实质上是对关系的映射10、SQL语句中的几个简单的关键词:DISTINCT, UNION,ORDER BY 和 OFFSET集合运算(DI

30、STINCT和UNION )排序运算(ORDER BY, OFFSETFETCH)集合运算(set operation):集合运算主要操作在于集合上,事实上指的就是对表的一种操作。 从概念上来说,他们很好理解:DISTINCT在映射之后对数据进行去重UNION将两个子查询拼接起来并去重UNION ALL将两个子查询拼接起来但不去重EXCEPT将第二个字查询中的结果从第一个子查询中去掉 INTERSECT保留两个子查询中都有的结果并去重排序运算(ordering operation):排序运算跟逻辑关系无关。这是一个SQL特有的功能。排序运算 不仅在SQL语句的最后,而且在SQL语句运行的过程中也是最后执 行的。使用ORDER BY和OFFSETFETCH是保证数据能够按照顺序排 列的最有效的方式。其他所有的排序方式都有一定随机性,尽管它们 得到的排序结果是可重现的。湖南商学院学年论文(课程设计)评审表评审成绩指导教师 签名职 称时 间年月日

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号