数据库的基本概念
- 格式:doc
- 大小:43.26 KB
- 文档页数:4
数据库——基本概念⼀、概述(了解) 数据库(Database,简称DB) 数据库技术是计算机应⽤领域中⾮常重要的技术,它产⽣于20世纪,60年代末,是数据管理的最新技术,也是软件技术的⼀个重要分⽀。
简单的说,数据库就是⼀个存放数据的仓库,这个仓库是按照⼀定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织、存储的,我们可以通过数据库提供的多种⽅法来管理数据库⾥的数据。
更简单的形象理解,数据库和我们⽣活中存放杂物的仓库性质⼀样,区别只是存放的东西不同。
数据库表(table) 数据表是关系数据库中⼀个⾮常重要的对象,是其他对象的基础,也是⼀系列⼆维数组的集合,⽤来存储、操作数据的逻辑结构。
根据信息的分类性情。
⼀个数据库中可能包含若⼲个数据表,每张表是由⾏和列组成,记录⼀条数据,数据表就增加⼀⾏,每⼀列是由字段名和字段数据集合组成,列被称之为字段。
每⼀列还有⾃⼰的多个属性,例如是否允许为空、默认值、长度、类型、存储编码、注释等。
例如: 数据(data) 存储在表中的信息就叫做数据。
数据库系统有3个主要的组成部分 1.数据库(Database System):⽤于存储数据的地⽅ 2.数据库管理系统(Database Management System,DBMS):⽤户管理数据库的软件。
3.数据库应⽤程序(Database Application):为了提⾼数据库系统的处理能⼒所使⽤的管理数据库的软件补充。
数据库的发展史(五个阶段) 1.⽂件系统 数据库系统的萌芽阶段,通过⽂件来存取数据.⽂件系统是数据库系统的萌芽阶段,出现在上世纪五六⼗年代,可以提供简单的数据存取功能,但⽆法提供完整、统⼀的数据管理功能,例如复杂查询等。
所以在管理较少、较简单的数据或者只是⽤来存取简单数据,没有复杂操作的情况下, 2.层次型数据库 数据库系统真正开始阶段,数据的存储形式类似树形结构,所以也叫树型数据库. 3.⽹状数据库 数据的存储形式类似⽹状结构.从⼆⼗世纪六⼗年代开始,第⼀代数据库系统(层次模型数据库系统、⽹状模型数据库系统)相继问世,它们为统⼀管理和共享数据提供了有⼒的⽀撑在这个阶段,⽹状模型数据库由于它的复杂、专⽤性,没有被⼴泛使⽤。
数据库基本概念一、数据库系统的基本概念1)DB:即数据库(Database),是统一管理的相关数据的集合。
长期储存在计算机内,有结构的、集成的、可共享的、统一管理的数据集合。
DB能为各种用户共享,具有最小冗余度,数据间联系密切,而又有较高的数据独立性。
2)DBMS:即数据库管理系统(Database Management System),是位于应用软件与操作系统之间的一层数据管理软件, 为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制. DBMS 总是基于某种数据模型.3)DBS:即数据库系统(Database System),是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。
4)DBA:负责数据库系统的安全控制与正常运行.利用DBMS提供的各种工具访问数据库。
5)1:1联系:如果实体集E1中的每个实体最多只能和实体集E2中的一个实体有联系,反之亦然,那么实体集E1对E2的联系称为“一对一联系”,记为“1:1"。
6)1:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,而E2中每个实体至多和E1中的一个实体有联系,那么E1对E2的联系是“一对多联系",记为“1:N”。
7)M:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么E1对E2的联系是“多对多联系",记为“M:N"。
8)概念模型:概念模型是现实世界到机器世界的一个中间层次.现实世界的事物反映到人的脑子中来,人们把这些事物抽象为一种既不依赖于具体的计算机系统又不为某一DBMS支持的概念模型,然后再把概念模型转换为计算机上某一DBMS支持的数据模型。
表示方法很多,最常用的实体-联系方法(E-R图)9)数据模型:模型是对现实世界的抽象。
数据库模型的基本概念
数据库模型是指对数据库中数据和数据之间关系的抽象描述,它是数据库设计的基础。
数据库模型包括三个基本概念:数据结构、数据操作、数据完整性。
1. 数据结构:数据库的数据结构是指数据在数据库中的组织形式。
数据库中的数据结构可以分为两种类型:关系型和非关系型。
关系型数据结构采用表格的形式,以行和列的形式存储数据。
非关系型数据结构则不采用表格的形式,可以使用图形、树形等方式存储数据。
2. 数据操作:数据库中的数据操作包括增、删、改、查等操作。
这些操作可以通过SQL语言来实现。
SQL语言是一种结构化查询语言,它可以用于执行各种数据库操作。
3. 数据完整性:数据完整性是指保持数据库中数据的正确性和一致性。
数据库有多种完整性约束条件,例如主键约束、外键约束、唯一约束等。
这些约束条件可以确保数据库中的数据不会出现错误或不一致的情况。
总之,数据库模型是数据库设计的基础,在数据库开发中起着关键的作用。
了解数据库模型的基本概念,可以帮助我们更好地进行数据库设计和数据库操作。
- 1 -。
⼀、数据库的基本认识⼀、什么是数据库?简单的说,数据库就是⼀个存放数据的仓库,这个仓库是按照⼀定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织,存储的,我们可以通过数据库提供的多种⽅法来管理数据库⾥的数据。
更简单的形象理解,数据库和我们⽣活中存放杂物的储物间仓库性质⼀样,区别只是存放的东西不同,杂物间存放实体的物件,⽽数据库⾥存储的是数据,这样我们就对数据库有⼀个初步的了解了。
数据库诞⽣于距现在⼤概六⼗多年前,随着信息技术的发展和⼈类社会的不断进步,特别是2000年以后,数据库不在仅仅是存储和管理数据了,⽽转变成⽤户所需要的各种数据管理的⽅式。
数据库有很多种类和功能,从最简单的存储有各种数据的表格到能够进⾏海量数据存储的⼤型数据库系统都在各个⽅⾯得到⼴泛的应⽤。
⼆、数据库的种类按照早期的数据库理论,⽐较流⾏的数据库模型有三种,分别为层次式数据库,⽹络式数据库和关系型数据库。
⽽在当今的互联⽹中,最常⽤的数据库模型主要是两种,即关系型数据库和⾮关系型数据库,我们不是写教科书,更不是研究数据库理论,因此,我们主要讲解关系型数据库和⾮关系型数据库NOSQL这两类最重要的也是⽬前实际使⽤最多的数据库种类。
关系型数据库1)关系型数据库由来虽然⽹状数据库和层次数据库已经很好地解决了数据的集中和共享问题,但是在数据独⽴性和抽象级别上仍有很⼤⽋缺。
⽤户在对这两种数据库进⾏存取时,仍然需要明确数据的存储结构,指出存取路径。
⽽关系型数据库就可以较好地解决这些问题。
2)关系型数据库介绍关系型数据库模型是把复杂的数据结构归结为简单的⼆元关系(即⼆维表格形式)。
在关系数据库中,对数据的操作⼏乎全部建⽴在⼀个或多个关系表格上,通过对这些关联的表格分类,合并,连接或选取等运算实现数据的管理。
关系型数据库诞⽣距今已有40多年了,从理论产⽣发展到显⽰产品,列如:⼤家最常见的MySQL和Oracle数据库,Oracle在数据库领域⾥上升了霸王地位,形成每年⾼达数百亿美元的庞⼤产业市场,⽽MySQL也是不容忽视的数据库,以⾄于被Oracle重⾦收购了。
数据库管理系统的基本概念数据库管理系统(Database Management System,简称DBMS)是一种用于管理数据库的软件系统。
通过DBMS,用户可以方便地创建、使用和管理数据库,实现数据的存储、检索、修改和删除等操作。
数据库管理系统具有以下几个基本概念:一、数据库数据库是指按照数据模型组织、存储和管理的数据集合。
数据库中的数据按照特定的结构和规则进行组织,可以以文件或表格的形式存储。
数据库能够持久地存储大量数据,并且支持对数据的高效管理和处理。
二、数据模型数据模型是数据库中数据的抽象表示,定义了数据的结构、属性和关系。
常见的数据模型有层次模型、网络模型和关系模型等。
其中,关系模型是目前最常用且最广泛应用的数据模型,它使用表格来表示实体、属性和关系之间的关联。
三、实体和属性实体是现实世界中的一个独立存在的事物,可以是一个人、一个地方或一个物品等。
实体具有属性,属性是描述实体特征的数据项,例如一个人的姓名、年龄和性别等。
四、关系和关系型数据库关系是指两个实体之间的关联,可以是一对一、一对多或多对多的关系。
关系型数据库是基于关系模型构建的数据库系统,使用了多个表来存储和表示实体、属性和关系之间的关联。
通过使用关系代数和结构化查询语言(SQL),关系型数据库可以进行复杂的查询和数据操作。
五、数据完整性数据完整性是指数据库中的数据满足定义的约束条件和规则,保证数据的正确性和一致性。
数据完整性包括实体完整性、参照完整性和用户定义的完整性约束等。
六、数据操作与查询语言数据库管理系统提供了一种数据操作语言(Data Manipulation Language,简称DML)和一种数据查询语言(Data Query Language,简称DQL)。
通过DML,用户可以进行数据的插入、删除和修改等操作;而通过DQL,用户可以进行数据的查询和检索。
七、数据安全性与权限管理数据安全性是指保护数据库免受非法访问和损坏的能力。
数据库系统基础知识内容提要:Visual Foxpro是目前微机上流行采用了可视化的、面向对象的程序设计方法,大大简化了应用系统的开发过程,本章是全书的基础,讨论了一些数据库系统的基础知识,为后面的学习打下理论基础。
主要从数据库的基本概念、关系数据库及其设计概述、数据库技术的应用领域及发展方向三个方面进行讨论。
1.数据库的基本概念1.1信息、数据及数据处理1)信息信息是对现实世界中各种事物的存在方式或运动形态的反映,它反映的是事物之间的联系。
2)数据数据是信息的符号化表示。
3)数据处理数据处理实际上就是利用计算机对各种类型的数据进行处理。
它包括对数据的采集、整理、存储、分类、排序、检索、维护、加工、统计和传输等一系列操作过程。
1.2数据库、数据库管理系统与数据库系统1)数据库(DataBase,简称DB)数据库,顾名思义,是存放数据的仓库。
它是按一定的结构和组织方式存储在计算机外部存储介质上的,有结构,可共享的相互关联的数据集合。
数据库中的数据具有结构化好,冗余度小,数据独立性高,共享性高和易于扩充等特点。
2)数据库管理系统(DataBase Management System,简称DBMS)数据库管理系统是一个管理数据库的软件系统。
它为用户提供了大量描述(建立)数据库、操纵(检索、排序、索引、显示、统计计算等)数据库和维护(修改、追加、删除等)数据库的方法和命令。
而且它还能自动控制数据库的安全,及数据库的数据完整。
比如:Visual FoxPro 6.0,SQL Server,Oracle等系统就是数据库管理系统。
其主要功能包括以下几个方面:(1) 数据定义功能(2) 数据操纵功能(3) 数据控制功能(4) 数据库的建立和维护功能3)数据库系统(DataBase System,简称DBS)数据库系统的目标在于存储和提取所需要的信息。
它主要由数据、硬件、软件和用户四部分构成。
1.3数据库管理技术的产生和发展随着计算机软、硬件技术的发展,在应用需求的推动下,数据管理技术经历了人工管理、文件系统、数据库系统、分布式数据库系统四个阶段。
数据库复习基本知识1、数据库的4个基本概念:数据(描述事物的符号记录)、数据库(长期存储在计算机内、有组织的、可共享的大量数据的集合。
数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享概括的讲,数据库数据具有永久存储、有组织和可共享三个基本特点)、数据管理系统(DBMS)和数据库系统(DBS)2、数据库系统的特点:数据结构化(数据库系统实现整体数据的结构化,这是数据库的主要特征这一,也是数据库系统与文件系统的本质区别)、数据的共享性高、冗余度低且易扩充(数据共享可以大大减少数据冗余,节约存储空间,数据共享还能够避免数据之间的不相容性与不一致性)、数据的独立性高(物理独立性和逻辑独立性)、数据由数据库管理系统统一管理和控制(必须具备的4各控制功能1、数据的安全性保护2、数据的完整性检查3、并发控制4、数据库恢复)3、数据库的定义:数据库是长期存储在计算机内有组织、大量、共享的数据集合。
它可以提供各种用户共享,具有最小冗余度和较高的数据独立性。
数据库管理系统在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性和安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对数据库进行恢复。
4、两大数据模型:1、概念模型(也称信息模型,主要用于数据库设计)2、数据模型(包括逻辑模型和物理模型逻辑模型主要用于数据库管理系统的实现)数据模型应满足三方面的要求:1、能比较真实的模拟现实世界2、容易为人所理解3、便于在计算机上实现5、概念模型:它是按用户的观点来对数据和信息建模,主要用于数据库设计,从现实世界到概念模型的转换是由数据库设计人员完成的。
6、数据模型:它是对现实世界数据特征的抽象。
是用来描述数据、组织数据和对数据进行操作的。
数据模型是数据库系统的核心和基础。
包括逻辑模型(主要包括层次模型、网状模型、关系模型等。
它是按计算机系统的观点对数据建模,主要用于数据库管理系统的实现)和物理模型(对数据最底层的抽象,它描述数据在系统内部的表示方式和存取方方法是面向计算机系统的)从概念模型到逻辑模型的转换可以有数据可设计人员完成,也可以用数据可设计工具协助设计人员完成;从逻辑模型到物理模型的转换主要由数据库管理系统完成。
1.关系的基本操作:选择、投影、并、差、笛卡尔集。
2.声明变量的语句:declare @XXX (XXX为变量名称)
3.判断并发调度的正确性:
(1)可串行性的调度:多个事务的并发执行是正确的,当且仅当其结果与某一次串行的执行这些实物的结果相同。
(2)可串行性:是并发事务调度的准则。
按照这个准则,一个给定的并发调度,当且仅当他是可串行化的才认为是正确的调度。
4.事物的四个特性:原子性、一致性、隔离性和持续性。
5.定义视图:
Create view <视图名称>[(列名)[,(列名)]]
As
<子查询>
[with check option]
6.关系数据理论:
7.范式:
(1)第二范式:若R∈1NF,且每一个非主属性完全依赖于码,则R∈2NF
(2)第三范式:非主属性中不存在传递关系。
8.角色、权限
(1)创建角色:create role <角色名>
(2)给角色授权:create <权限> on <对象类型> 对象名to 角色。
9.设计中概念模型描述什么:实体、属性、码、实体型、实体集、联系。
10.关系的完整性:实体完整性、参照完整性、用户定义的完整性。
11.读锁和写锁的定义:
(1)写锁:又称“排它锁”,若事物T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事物都不能对A加任何类型的锁,直到T释放A上的锁。
(2)读锁:又称“共享锁”,若事物T对数据对象A加上S锁,则事物T可以读A但不能修改A,其他事物只能对A加S锁,而不能加X锁,直到T释放A上的S锁。
简答:
1.关系模式:判断是第几范式,分析指出主键、外键P175 例题4
2.举例说明参照完整性(外键取值的几种情况)P49例题1,例题2,例题3
3.数据库的设计步骤、任务。
(1)需求分析(2)概念结构设计(3)逻辑结构设计(4)物理结构设计
(5)数据库实施(6)数据库运行和维护
4.描述并发调度中锁的概念、作用
(1)概念:事物T对某个数据对象操作之前,先向系统发出申请,对其加锁。
加锁后的事物T就对该数据对象有了一定的控制,在事物T释放它的锁之前,其他的事物不能更新此数据对象。
(2)作用:解决了事物并发过程中可能出现的丢失修改、不可重复读、读“脏”数据。
1、在教务系统中三个实体集。
一是“教研室”实体集,属性有教研室编号、名称、研究方向等;二是“课程”实体集,属性有课程号、名称学分等;三是“教师”实体集,属性有教师编号、姓名、电话等。
教研室与教师之间存在“聘用”联系,每个教研室可聘用若干教师,但每个教师只能应聘于一个教研室,教研室聘用教师有聘期、职称;教研室与课程之间存在“拥有”联系,每个教研室负责多门课程的建设,但每门课程只能属于一个教研室;教师与课程之间存在着“讲授”联系,教师讲授课程有讲授学时和开设学期,每个教师可讲授多门课程,每门课程可被多个教师讲授。
1)试画出ER 图,并在图上注明属性、联系类型、实体标识符;
1 n
1
n
N
m
2)将ER 图转换成关系模型,并说明主键和外键。
教研室(编号,名称,方向)。
主键:编号
教师(编号,姓名,电话,教研室编号)。
主键:编号,外键:教研室编号
课程(课程号,名称,学分,教研室编号)。
主键:课程号,外键:教研室编号
授课(教师编号,课程号)。
主键:教师编号和课程号
教研室
课程
教师
聘用
拥
有
教授
编号 编号
编号
编号
编号
编号
编号
编号
编号
2、学生管理数据库中有班级和部学生两个关系,其关系模式分别为:
学生(学号,姓名,性别,出生年月,所属班级,薪水)
班级(编号,所属专业,班级住址)
1)两个关系的主码与外码是什么?
学生表:
主码:学号
外码:所属班级
班级:
主码:编码
2)写出完成以下查询的关系代数表达式
A.查询学生的编号、姓名和所属班级;
Π学号,姓名,所属班级(学生)
B.查询男学生的编号和姓名;
Π学号,姓名(σ性别=’男’(学生))
C.查询所属专业为‘信控’的学生信息,显示其学号和姓名。
Π学号,姓名(σ所属专业 = ‘信控’(班级)∞学生)
3、关系模式S-L-C(Sno, Sdept, Sloc, Cno, Grade)
Sloc为学生住处,假设每个系的学生住在同一个地方。
1)试写出关系模式R的基本函数依赖和关键码。
(Sno,Cno) Grade
Sno→Sdept,(Sno,Cno) Sdept
Sno→Sloc,(Sno,Cno) Sloc
Sdept→Sloc
2)说明R不是2NF模式的理由,并把R分解成2NF模式集。
非主属性Grade完全依赖于码(Sno,Cno),而非主属性Sdept、Sloc只是部分依赖于码(Sno,Cno)。
因此,S-L-C(Sno,Sdept,Sloc,Cno,Grade)不符合2NF的定义,即:S-L-C 2NF。
S(Sno,Sdept,Sloc)
C(Sno,Cno,Grade)
3)进而把R分解成3NF模式集,并说明理由。
S(Sno,Sdept)
L(Sdept,Sloc)
C(Sno,Cno,Grade)
4、体育竞赛数据库中包含有运动员、项目和比赛选项三个表,其关系模式定义分别为:
运动员(运动员号,姓名,性别,出生年月,系部,专项)
项目(项目号, 项目名称,项目类型)
比赛选项(动员号, 项目号,名次)
现在创建存储过程处理运动员信息,在存储过程中要使用游标机制来逐条处理运动员信息。
use test --数据库名
go
create proc procAth as--procAth为存储过程名称
begin
declare@code char(10)--运动员号
declare@name char(10)--运动员姓名
declare@sex char(10)--运动员性别
declare cstn cursor--cstn为游标名称
for select code,name,sex from athlete--athlete运动员信息表
for read only
begin
open cstn--打开游标
fetch next from cstn into@code,@name,@sex
while@@FETCH_STATUS= 0
begin
fetch next from cstn into@code,@name,@sex
end
close cstn--关闭游标
end
end。