考核要求:达到“识记”
层次知识点:基本概念
831 面向对象数据模型的基本概念
(1)对象:客观世界中的实体经过抽象称为问题空间中的对象,它是对一组信息及其 *** 作的描述。
对象由三部分组成:一组变量;一组消息;一组方法
(2)类:是具有相同的变量名和类型、相同的消息和使用相同的方法的对象的集合。
类中的每个对象称为类的实例
(3)继承性:允许不同类的对象共享他们公共部分的结构和特性。
单重继承性:一个子类继承某一个超类的结构和特性,称为单重继承性。
多重继承性:一个子类继承多个超类的结构和特性,称为多重继承性。
(4)对象标识:与对象的物理存储位置无关,也与数据的描述方式和值无关的一个标识。
在对象创建的瞬间,由系统赋给每个对象一个“标识”,即系统内的一个的指针,在对象生存期内,这个标识不可改变。
在面向对象语言中,对象标识是一个指针一级的概念
(5)对象包含:不同类的对象之间存在的包含关系称为对象包含,包含其他对象的对象称为复合对象。
Notice:继承是" is a "联系,包含是"is part of"联系。比如卡车是车的子类(继承),车包含轮胎(包含)
832 持久化程序设计语言
OOPL:面向对象语言对现有的OOPL进行扩充,使之能处理数据库,这样的OOPL称为持久性程序设计语言。
持久化语言与嵌入式SQL语言的不同:
(1)格式转换对程序员透明;
(2)程序员可直接 *** 纵持久数据。
(具体内容可参见教材P211)
一些基本概念:
持久数据:是指创建这些数据的程序运行终止后数据依然存在于系统之中。
持久指针:持久化指针不像内存中的指针,它在程序执行后及数据重组后仍保持有效。 在概念上,持久指针可以看作是数据库中指向对象的指针。
查找数据库对象的三种方法:
(1)根据对象名找对象;
(2)根据对象标识找对象;
(3)将对象按聚集形式存放,然后利用程序循环找所需对象。
833 持久化C++系统
C++中可以说明一个称为Persistent_Object(持久对象)的类及其属性和方法来支持持久性, 而其他的类作为该类的子类继承其持久性。
ODMG(Object DataBase Management Group)对C++的扩充有两个方面:
C++对象定义语言(ODL)
C++对象 *** 纵语言(OML)
总结:
在OO技术与DB技术相结合过程中,采取了两条不同的途径:
一条途径是在传统的关系模型基础上,提供复合数据类型,扩充SQL语言使之能处理新的数据结构。这种模型称为对象关系模型,还不能说是严格意义上的面向对象数据模型。但是用户容易接受,易于推广。
另一条途径是在OOPL C++基础上进行扩充,能 *** 作持久数据,处理数据库,形成持久化C++系统,即OODBS但较难提供对说明性查询的支持,因此推广使用难度较大。
《数据库原理及应用》教学大纲
课程编号1620127总学时46理论32实验/上机14
学分25开课单位信息学院开课系电子工程系修订时间2006年1月1日
课程简介
教学内容
《数据库原理及应用》主要讨论数据库系统的基本概念,基本原理,基本方法以及有关的应用。
主要内容包括:数据库系统的组成、关系数据库、数据库设计以及数据保护等,同时讲解一种重要的数据库系统的应用。要求学生通过本课程的学习了解有关数据库系统的基本概念,掌握相关的知识,初步掌握数据库设计方法,并能用数据库系统建立数据库及简单的应用。
修读专业:本大纲适合本科电子信息工程专业使用
先修课程:《数据结构》
教材:数据库系统及应用(第二版)“北京市高等教育精品教材”立项项目。由崔巍编著,高等教育出版社
一、课程的性质与任务
本课程是电子信息工程专业有关数据库的一门统设必修课。主要任务是介绍数据库组织、管理和使用的一般知识,包括数据模型、数据库结构、数据库系统、数据库设计、关系运算、关系规范化、关系查询(SQL语言)等方面的知识;介绍至少一种实际的数据库管理系统的构成与使用。目的使学生通过该课程的学习,具有进行简单数据库应用系统设计与开发的能力。
二、课程的基本要求
1.熟练掌握(代码:A):数据库中的概念、数据库设计与编程方法。数据库的结构与特点,数据库系统的组成及各部分的功能,熟练使用结构化查询语言(SQL)。
2.掌握(代码:B):关系代数语言的使用;关系演算语言的使用;三级一致性的区别及其与可串行化调度的关系;关系数据库以及面向对象数据库的特点与区别;查询表达式优化的方法。
3.了解(代码:C):关系、关系模型、键码、视图、函数依赖等概念
三、修读专业
本大纲适合本科电子信息工程专业使用
四、本课程与其它课程的联系
由于数据库理论及应用是各种计算机技术的综合应用,为了能够让学生很好地理解数据库技术,要求学生在学习本课程之前最好已经学习过以下课程:《程序设计》、《数据结构》、《 *** 作系统》等课程。当然主要要求学生具有“数据结构”的基本知识,其他课程的知识要求是其次的。
对于现行数据库的选择,建议教师最好选择“MicrosoftSQLServer”,其它的数据库如:Oracle,IBMDB2相对比较难理解和应用,Aess又过于简单。
五、教学内容安排、要求、学时分配及作业
Chapter1绪论(2)
11什么是数据库(C)
12数据库管理系统(C)
13数据库管理和数据库管理员(B)
14数据库系统(B)
15数据库的过去、现在和未来(C)
作业:第2题
Chapter2数据模型和三层模式数据库(4)
21信息结构与E-R方法(C)
22概念数据模型(B)
223连接陷阱(C)
23传统的三大数据模型(C)
关系型数据库采用结构化查询语言(即SQL)来对数据库进行查询,SQL早已获得了各个数据库厂商的支持,成为数据库行业的标准。它能够支持数据库的CRUD(增加、查询、更新、删除) *** 作,具有非常强大的功能,SQL可以采用类似索引的方法来加快查询 *** 作。
NoSQL数据库使用的是非结构化查询语言(UnQL),它以数据集(像文档)为单位来管理和 *** 作数据。由于它没有一个统一的标准,所以每个数据库厂商提供产品标准是不一样的,NoSQL中的文档Id与关系型表中主键的概念类似,NoSQL数据库采用的数据访问模式相对SQL更简单而精确。
扩展资料
扩展方式——
当前社会和科学飞速发展,要支持日益增长的数据库存储需求,当然要求数据库有良好的扩展性能,并且要求数据库支持更多数据并发量,扩展方式是NoSQL数据库与关系型数据库差别最大的地方。
NoSQL数据库由于使用的是数据集的存储方式,它的存储方式一定是分布式的,它可以采用横向的方式来开展数据库,也就是可以添加更多数据库服务器到资源池,然后由这些增加的服务器来负担数据量增加的开销。
创建数据库
选择开始菜单中→程序→Management
SQL
Server
2008→SQL
Server
Management
Studio命令,打开SQL
Server
Management
Studio窗口,并使用Windows或
SQL
Server身份验证建立连接。
在对象资源管理器窗口中展开服务器,然后选择数据库节点
右键单击数据库节点,从d出来的快捷菜单中选择新建数据库命令。
执行上述 *** 作后,会d出新建数据库对话框。在对话框、左侧有3个选项,分别是常规、选项和文件组。完成这三个选项中的设置会后,就完成了数据库的创建工作,
在数据库名称文本框中输入要新建数据库的名称。例如,这里以“新建的数据库”。
在所有者文本框中输入新建数据库的所有者,如sa。根据数据库的使用情况,选择启用或者禁用使用全文索引复选框。
在数据库文件列表中包括两行,一行是数据库文件,而另一行是日记文件。通过单击下面的添加、删除按钮添加或删除数据库文件。
切换到选项页、在这里可以设置数据库的排序规则、恢复模式、兼容级别和其他属性。
切换到文件组页,在这里可以添加或删除文件组。
完成以上 *** 作后,单击确定按钮关闭新建数据库对话框。至此“新建的数据”数据库创建成功。新建的数据库可以再对象资源管理器窗口看到。
考点12关系数据模型
关系模型由关系数据结构、关系 *** 作集合和关系完整性约束3部分组成。
1关系数据结构
关系模型中的数据结构非常单一。实体及实体间的联系都用关系表示,一个关系就是一张二维表,是关系模型中数据的逻辑结构。
2关系 *** 作集合
关系模型中的关系 *** 作的理论依据为关系代数和关系演算。
关系模型中常用的关系 *** 作包括:选择(select)、投影(project)、连接(join)、除(divide)、并(union)交(intersection)和差(difference)等,以及查询(query) *** 作和增(insert)、删(delete)、改(update) *** 作两大部分。查询的表达能力是其中最主要的部分。
关系数据语言可以分为如下3类:关系代数语言、关系演算语言(包括元组关系演算语言和域关系演算语言)及具有关系代数和关系演算双重特点的语言。
3关系的完整性约束
数据库的数据完整性是指数据库中数据的正确性和相容性,那是一种语义概念,包括两个方面:与现实世界中应用需求的数据的相容性和正确性数据库内数据之间的相容性和正确性。
关系模型中有3类完整性约束:实体完整性、参照完整性和用户自定义的完整性。
45关系模型的数据结构
考点13关系模型的数据结构和基本术语
(1)关系( Relation) ;关系是个元素个数为K(K,1 )的元组集合。一个关系对应一个二维表,二维表名就是关系名。
(2)属性(Attribute)和值域(Domain):二维表中的列(字段),称为属性,属性的个数称为关系的元数,列的值称为属性值.属性值的取值范围称为值域
(3)关系模式(Relation Schema):关系的描述称为关系模式。
(4)元组(Tuple):二维表中的行(记录的值)称为一个元组。关系模式和元组的集合通称为关系。
(5)候选码(Candidate Key)或候选键:如果在一个关系中,存在多个属性(或属性集合)都能用来标识该关系的元组,这些属性(或属性集合)都称为该关系的候选码或候选键。而包含在任何一个候选码中的属性称为主属性或码属性,相反,不包含的为非主属性或非码属性。关系模式的所有数据组是这个关系模式的候选码,称为全码。
(6)主码(Primary Key)或主键:在一个关系的若十个候选码中指定一个用来标识该关系的元组,这个的码称为该关系的主码或主键。
(7)外码(Foreign Key)或外键:当关系中的某个属性(或属性组)不是该关系的主码或只是主码的一部分,但却是另一个关系的主码时,称该属性(或属性组)为这个关系的外码。
(8)参照关系(Referencing Relation)与被参照关系( Referenced Relation):它们是指与外码相关联的两个关系。以外码作为主码的关系称为参照关系;外码所在的关系称为被参照关系或目标关系。
(9)分量(Component):元组中的一个属性值。
(10)主属性(Primary Attribute)和非主属性(Nonprimary Attribute):关系中包含在任何一个候选码中的属性称为主属性或码属性,不包含在任何一个候选码中的属性称为非主属性或非码属性。
考点14关系的形式定义和关系数据库对关系的限定
1关系的形式定义
关系从数学的观点来定义有以下两种解释。
(1)集合论观点:即前面所述,关系是一个元素个数为K(K,1)的元组集合。
(2)值域的观点:关系是属性值域笛卡儿积的一个子集。
2关系数据犀对关系的限定
当关系作为关系数据模型的数据结构时,关系数据库对关系有如下的限制。
(1)列是同质的.即每一列中的分量是同一类型的数据,来自同一个域。
(2)不同的列可以出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。
(3)列的顺序无关紧要,即列的次序可以任意交换。
(4)任意两个元组不能完全相同。
(5)行的顺序无关紧要,即行的次序可以任意交换。
(6)每一个属性是不可分解的这是关系数据库对关系的最基本的一条限定。分量必须取原子值,即每一个分量都必须是不可拆分的数据项。
46关系模型的完整性约束
考点15数据完整性规则的分类
关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有3类完整性约束:实体完整性、参照完整性和用户自定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称为两个不变性、应该由关系系统自动支持。
1实体完整性规则
实体完整性规则:若属性“是基本关系“的主属性,则属性A不能取空。实体完整性关系的所有主属性都不能取空值,而不仅是主码整体不能取空值。说明实体完整性规则应包括如下几个方面:
(1)实体完整性规则是针对基本关系而言的。一个关系(基本表)通常对应现实世界的一个实体集。
(2)现实世界中的实体是可区分的,即它们具有某种性标识。
(3)相应地,关系模型中以主码作为标识。
(4)主码中的属性即主属性不能取空值。所谓空值就是“不知道”或“不确定”的值。
2参照完整性规则
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。
3用户有定义的完整性
用户定义的完整性通常是定义对关系中除外码与主码属性之外的其他属性取值的约束,即对其他属性值域的约束,也称为域完整性规则,包括数据类型、精度、取值范围、是否允许空值等。
47关系代数
考点16传统集合运算
传统的集合运算包括并、交、差和广义笛卡儿积4种运算。
1并(union)
设关系R和关系S具有相同的目n(即都有n个属性),且相应的属性取自同一个域,则关系R与S的并是由属于R或属于S的元组组成的,结果仍为n目关系,记做:
RUS={t/t∈R∨t∈S},t是元组变量。
2差(difference)
设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的差是由属于R而不属于S的所有元组组成的,结果仍为n目关系,记做:
R-S={t/t∈R∧t¢S},t是元组变量
3交(intersection)
设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的交是由既属于R而不属于S的所有元组组成的,结果仍为n目关系,记做:
R∩S={t|t∈R∧t∈S}t ER八:ES},t是元组变量。
显然R自s=R一(R一s)。
4广义笛卡儿积(Extended Cartesian Product)
设关系R和s的元数分别是厂和,,定义R和s的笛卡儿积是一个(r+s)元元组的集合,每一个元组的前r个分量来自R的一个元组,后s个分量来自S的一个元组。若R有m个元组,S有n个元组,则关系R 和S的广义笛卡儿积有m ×n个元组,记做:
R×S={t|t=<t¬¬¬¬r ,ts>∧t¬¬¬¬r ∈ts∈S
考点17专门的关系运算
专门的关系运算包括:对单个关系进行垂直分解(投影 *** 作)或水平分解(选择 *** 作)和对多个关系进行结合(连接 *** 作)等。
1选择(selection)
选择又称为限制,是在关系R中选择满足给定条件的各元组,记做:
(R)={t|t∈R∧F(t=′真′)},其中F表示选择条件,是一个逻辑表达式。
选择运算实际上是从关系R中选取使逻辑表达式F为真的元组。这是从行的角度进行的运算。
2投影(projection)
关系R上的投影是从R中选择出若干属性列组成新的关系,记做:
二1(R、={t[A〕I t ER{,A为R的属性列。
投影 *** 作实际上是从关系中选取某些列,即从列的角度进行的运算。
3连接(join )
连接是从两个关联的笛卡儿积中选取属性间满足一定条件的元组。
连接运算中有两种最为重要也是常用的连接,一种是等值连接( equi - join),一种是自然连接(naturaljoin)自然连接是构造新关系的有效方法。一般,自然连接使用在两个关系有公共属性的情况中。
4除(di%-ision)
给定关系R(X,州和别Y, Z),其中X,Y, Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集R与S的除运算得到一个新的关系尸(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X分量值的对象Yx包含S在Y上投影的集合。记做:
R÷S=t,[X]t,ER八二,(S) C-玖}
除 *** 作是同时从行和列的角度进行运算。
48 SQL概述:
考点18结构化查询语言SQL
SQL (Structured Query Language)称为结构化查询语言,是于1974年由Boyce和Chamberlin提出的,1975年IBM公司研制的关系数据库管理系统的原型系统System R实现了SQL语言。SQL是一个通用的、功能极强的关系数据库语言。我国制定了SQL的国家标准为GB12911, SQL已经成为关系数据库领域中的一种主流语言。
考点19 SQL的特点一
SQL语言集数据查询、数据 *** 纵、数据定义和数据控制功能于一体,主要特点包括以下几个方面:
(1)综合统一。
(2)高度非过程化。
(3)面向集合的 *** 作方式。
(4)以同一种语法结构提供两种使用方式。
(5)语言简洁,易学易用。
考点20 SQL数据库体系结构
SQL语言支持关系数据库三级模式结构:其中外模式对应于视图和部分基本表,模式对应于基本表,内模式对应于存储文件:
基本表是本身独立存在的表,在SQL中一个关系就是一个基本表。一个基本表对应一个存储文件,一个表可以带若干索引,索引也存放在存储文件中存储文件的逻辑结构组成了关系数据库的内模式。存储文件的物理结构是任意的,对用户是透明的。
视图是从一个或几个基本表导出的表二视图是一个虚表视图在概念上与基本表等同,用户可以在视上再定义视图。
49 SQL的数据定义
考点21基本表
1定义基本表
SQL语言使用CREATE TABLE语句定义基本表,其格式如下:
CREATE TABLE<表名>(<列名><数据类型>[列级完整性约束〕
[,<列名><数据类型>[列级完整性约束]…=
〔,<表级完整性约束>〕);
如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上,否则既可以定义在列级,也可以定义在表级。
2修改基本表
SQL语言用ALTER TABLE语句修改基本表,其格式为:
ALTER TABLE<表名>
「ADD<新列名><数据类型>[完整性约束〕〕
[DROP<完整性约束名>〕
[MODIFY<列名><数据类型>」;
ADD子句用于增加新列和新的完整性约束条件。DROP子句用于删除指定的完整性约束条件。MOD-IFY子句用于修改原有的列定义,包括修改列名和数据类型。
3删除基本表
当某个基本表不再需要时,可以用DROP TABLE语句进行删除,其格式为:
DROP TABLE<表名>
基本表一旦被删除,表中的数据、此表上建立的索引和视图都将自动被删除。因此执行删除基本表的 *** 作时一定要格外小心。
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。
以上就是关于《数据库原理》知识点之面向对象数据库全部的内容,包括:《数据库原理》知识点之面向对象数据库、数据库原理、数据库查找的原理是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)