简述数据库关系的性质

简述数据库关系的性质,第1张

数据库系统的基本概念

数据:实际上就是描述事物的符号记录。

数据的特点:有一定的结构,有型与值之分,如整型、实型、字符型等。而数据的值给出了符合定型的值,如整型值15。

数据库:是数据的集合,具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序共享。

数据库存放数据是按数据所提供的数据模式存放的,具有集成与共享的特点。

数据库管理系统:一种系统软件,负责数据库中的数据组织、数据 *** 纵、数据维护、控制及保护和数据服务等,是数据库的核心。

数据库管理系统功能:

(1)数据模式定义:即为数据库构建其数据框架;

(2)数据存取的物理构建:为数据模式的物理存取与构建提供有效的存取方法与手段;

(3)数据 *** 纵:为用户使用数据库的数据提供方便,如查询、插入、修改、删除等以及简单的算术运算及统计;

(4)数据的完整性、安生性定义与检查;

(5)数据库的并发控制与故障恢复;

(6)数据的服务:如拷贝、转存、重组、性能监测、分析等。

主要特点

(1)实现数据共享。

数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。

(2)减少数据的冗余度。

同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。

(3)数据的独立性。

数据的独立性包括数据库中数据库的逻辑结构和应用程序相互独立,也包括数据物理结构的变化不影响数据的逻辑结构。

(4)数据实现集中控制。

文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。

对关系数据库来说,下面说法错误的是()

A每一列的分量是同一种类型数据,来自同一个域

B不同列的数据可以出自同一个域

C行的顺序可以任意交换,但列的顺序不能任意交换

D每一分量必须是不可分的数据项

正确答案:行的顺序可以任意交换,但列的顺序不能任意交换

唯一需要注意的是,外键字段的数据类型必须和主键的数据类型相同。但是有些系统可以允许这条规则有一个例外,它允许在数字和自动编号(autonumbering)字段(例如在SQL服务器系统中访问Identity和AutoNumber)之间建立关系。此外,外键的值可以是空(Null),尽管强烈建议在没有特别原因的情况下,不要让外键为空。你有可能永远都不会有机会来使用需要这项功能的数据库。 现在回到我们的示例关系表,并开始输入合适的外键。(请继续在纸上打草稿——在你的数据库系统中创建真正的数据表还为时过早。要知道在纸上纠正错误要容易得多。)要记住,你正在把主键的值添加到关系表里。只要调用实体之间的关系就行了,而其他的就简单了: 书籍和分类是有关系的。 书籍和出版社是有关系的。 书籍和作者是有关系的。 作者和邮政编码(ZIP)是有关系的。 邮政编码和城市是有关系的。 城市和州是有关系的。 这一步并不是一成不变的,你可能会发现在规范化的过程中加入外键会更容易一些。在把字段移动到一个新的数据表时,你可能要把这个新数据表的主键添加到原来的数据表里,将其作为外键。但是,在你继续规范化剩余数据的时候,外键常常会发生改变。你会发现在所有这些数据表被全部规范化之后,一次添加所有的外键,这样效率会更高。 *** 作数据表 现在让我们一次 *** 作一个数据表,就从Books数据表开始,它在这个时候只有三个字段。很明显,Authors、Categories和Publishers数据表的主键会被添加到Books里。当你完成的时候,Books数据表就有了七个字段: Books Title (PK) ISBN (PK) Price FirstNameFK (FK) AuthorsFirstName many-to-many LastNameFK (FK) AuthorsLastName many-to-many CategoryFK (FK) CategoriesCategory many-to-many PublisherFK (FK) PublishersPublisher one-to-many 要记住,Authors数据表里的主键是一个基于姓和名两个字段的复合关键字。所以你必须要把这个两个字段都添加到Books数据表里。要注意,外键字段名的结尾包含有FK这个后缀。加入这个后缀有助于提高可读性和自我归档。通过名称这种方式来区别外键会使得追踪它们更简单。如果主键和外键的名称不同,这没有关系。 这里出现了三种关系:Books和Authors、Books和Categories,以及Books和Publishers。这三种关系中所存在的两种问题可能没有那么明显: Books和Authors之间的关系:一本书可以有多个作者。 Books和Categories之间的关系:一本书可以被归入多个类。 这两者的关系是多对多的关系。先前我告诉过你,数据表不能直接实现这样的关系,而需要第三个联系表来实现。(Books和Publishers的关系是一对多的关系,就像现在所说的,这样是没有问题的。) 这两个新发现的多对多关系将需要一个联系表来包含来自每个数据表的主键,并将其作为外键。新的联系表是:BooksAuthorsmmlink TitleFK (FK) BooksTitle one-to-many ISBNFK (FK) BooksISBN one-to-many FirstNameFK (FK) AuthorsFirstName one-to-many LastNameFK (FK) AuthorsLastName one-to-many BooksCategoriesmmlink TitleFK (FK) BooksTitle one-to-many ISBNFK (FK) BooksISBN one-to-many CategoryFK (FK) CategoriesCategory one-to-many 没有必要更改Categories、Authors或者Publishers数据表。但是,你必须把FirstNameFK、LastNameFK和CategoryFK这三个外键从Books里移走: Books Title (PK) ISBN (PK) Price PublisherFK (FK) PublishersPublisher one-to-many 现在,让我们转到Authors数据表上来,它现在有两个字段。每个作者都和ZIPCodes数据表中的邮政编码的值相关。但是,每个邮政编码会和多个作者相关。要实现这种一对多的关系,就要把ZIPCodes数据表中的主键添加进Authors数据表作为外键: Authors FirstName (PK) LastName (PK) ZIPCodeFK (FK) ZIPCodesZIPCode one-to-many 至此,你已经准备好了处理剩下的地址部分了。看到它们被分在不同的数据表里是很让人奇怪的,但是这是遵照BCNF正确规范化数据的结果。每个邮政编码的值只会有一个对应的城市值和州值。每个城市和州的值只会被输入进其对应的数据表里一次。ZIPCodes和Cities数据表需要外键字段来实现这些关系: ZIPCodes ZIPCode (PK) CityFK (FK) CitiesCity one-to-many Cities City (PK) StateFK (FK) StatesState one-to-many States State (PK) 从一个到九个 最后,你有了九个数据表:Books、Authors、Categories、Publishers、ZIPCodes、Cities、States、BooksAuthorsmmlink和BooksCategoriesmmlink。图A是这个示例数据表的数据库最终的图形形式。很难想像一个简单的数据表会被分成九个数据表。 图A 最初的一个数据表现在需要九个数据表了 由于这个示例数据库很简单,你可能会问这些关系有什么作用。看起来仍在保存冗余的数据,只不过形式不同罢了——通过外键来实现。这是因为我们的数据表现在只有很少几个字段。试想一下有十几个字段的数据表,会是什么样的一个情形。需要承认的是,你仍然需要把数据表的主键作为外键保存进关系表里,但是至多可能最多增加一到两个字段。比较一下为这个数据表里的每一条记录都添加十几个条目的情形吧。

在关系数据库中,基本的关系运算有三种,它们是选择、投影和连接。关系的基本运算有两类:一类是传统的集合运算(并、差、交等),另一类是专门的关系运算(选择、投影、连接、除法、外连接等),有些查询需要几个基本运算的组合,要经过若干步骤才能完成。

一、传统的集合运算

1、并(UNION) 设有两个关系R和S,它们具有相同的结构。R和S的并是由属于R或属于S的元组组成的集合,运算符为∪。记为T=R∪S。

2、差(DIFFERENCE) R和S的差是由属于R但不属于S的元组组成的集合,运算符为-。记为T=R-S。

3、交(INTERSECTION) R和S的交是由既属于R又属于S的元组组成的集合,运算符为∩。记为T=R∩S。 R∩S=R-(R-S)。

二、选择运算

从关系中找出满足给定条件的那些元组称为选择。其中的条件是以逻辑表达式给出的,值为真的元组将被选取。这种运算是从水平方向抽取元组。 在FOXPRO中的短语FOR和WHILE均相当于选择运算。

如:LIST FOR 出版单位='高等教育出版社' AND 单价<=20

三、投影运算

从关系模式中挑选若干属性组成新的关系称为投影。这是从列的角度进行的运算,相当于对关系进行垂直分解。在FOXPRO中短语FIELDS相当于投影运算。 如: LIST FIELDS 单位,姓名

四、连接运算

连接运算是从两个关系的笛卡尔积中选择属性间满足一定条件的元组。

五、除法运算

在关系代数中,除法运算可理解为笛卡尔积的逆运算。

设被除关系R为m元关系,除关系S为n元关系,那么它们的商为m-n元关系,记为R÷S。商的构成原则是:将被除关系R中的m-n列,按其值分成若干组,检查每一组的n列值的集合是否包含除关系S,若包含则取m-n列的值作为商的一个元组,否则不取。

扩展资料:

数据库除运算:

除运算的含义–给定关系R (X,Y) 和S (Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合。

R÷S的结果为a1,x相当于A y 相当于B,C z相当于D,按照除运算规则,我们不必关注D。只需比较B,C当S关系中的B,C所有的组合(b1,c2)(b2,c3)(b2,c1)都出现在R关系中时,结果才为A

R÷S = {tr[X] | tr&Icirc;R∧πY (S) íYx },Yx:x在R中的象集,x = tr[X]。除 *** 作是同时从行和列角度进行运算。

参考资料来源:百度百科-关系运算

参考资料来源:百度百科-数据库除运算

数据库系统DBS(Data Base System)包含数据库DB(Data Base)和数据库管理系统DBMS(Database Management System)。

数据库系统:

数据库系统是为适应数据处理的需要而发展起来的一种较为理想的数据处理系统,也是一个为实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质 、处理对象和管理系统的集合体。

数据库系统必须满足以下几个要求:

①能够保证数据的独立性。数据和程序相互独立有利于加快软件开发速度,节省开发费用。

②冗余数据少,数据共享程度高。

③系统的用户接口简单,用户容易掌握,使用方便。

④能够确保系统运行可靠,出现故障时能迅速排除;能够保护数据不受非受权者访问或破坏;能够防止错误数据的产生,一旦产生也能及时发现。

⑤有重新组织数据的能力,能改变数据的存储结构或数据存储位置,以适应用户 *** 作特性的变化,改善由于频繁插入、删除 *** 作造成的数据组织零乱和时空性能变坏的状况。

⑥具有可修改性和可扩充性。

⑦能够充分描述数据间的内在联系。

常见的数据库系统:

MySQL

MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass- deployed)的软件中去。

SQL Server

SQL Server 提供了众多的Web和电子商务功能,如对XML和Internet标准的丰富支持,通过Web对数据进行轻松安全的访问,具有强大的、灵活的、基于Web的和安全的应用程序管理等。

Oracle

Oracle产品系列齐全,几乎囊括所有应用领域,大型,完善,安全,可以支持多个实例同时运行,功能强。能在所有主流平台上运行。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。

数据库:

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。

数据库的特点:

⑴ 实现数据共享

数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。

⑵ 减少数据的冗余度

同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。

⑶ 数据的独立性

数据的独立性包括逻辑独立性(数据库中数据库的逻辑结构和应用程序相互独立)和物理独立性(数据物理结构的变化不影响数据的逻辑结构)。

⑷ 数据实现集中控制

文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。

⑸数据一致性和可维护性,以确保数据的安全性和可靠性

主要包括:①安全性控制:以防止数据丢失、错误更新和越权使用;②完整性控制:保证数据的正确性、有效性和相容性;③并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用。

⑹ 故障恢复

由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。数据库系统能尽快恢复数据库系统运行时出现的故障,可能是物理上或是逻辑上的错误。比如对系统的误 *** 作造成的数据错误等。

数据库的种类:

数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。而不同的数据库是按不同的数据结构来联系和组织的。

数据库管理系统:

数据库管理系统(Database Management System)是一种 *** 纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。大部分DBMS提供数据定义语言DDL(Data Definition Language)和数据 *** 作语言DML(Data Manipulation Language),供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等 *** 作。

主要功能:

1数据定义:DBMS提供数据定义语言DDL(Data Definition Language),供用户定义数据库的三级模式结构、两级映像以及完整性约束和保密限制等约束。DDL主要用于建立、修改数据库的库结构。DDL所描述的库结构仅仅给出了数据库的框架,数据库的框架信息被存放在数据字典(Data Dictionary)中。

2数据 *** 作:DBMS提供数据 *** 作语言DML(Data Manipulation Language),供用户实现对数据的追加、删除、更新、查询等 *** 作。

3数据库的运行管理:数据库的运行管理功能是DBMS的运行控制、管理功能,包括多用户环境下的并发控制、安全性检查和存取限制控制、完整性检查和执行、运行日志的组织管理、事务的管理和自动恢复,即保证事务的原子性。这些功能保证了数据库系统的正常运行。

4数据组织、存储与管理:DBMS要分类组织、存储和管理各种数据,包括数据字典、用户数据、存取路径等,需确定以何种文件结构和存取方式在存储级上组织这些数据,如何实现数据之间的联系。数据组织和存储的基本目标是提高存储空间利用率,选择合适的存取方法提高存取效率。

5数据库的保护:数据库中的数据是信息社会的战略资源,所以数据的保护至关重要。DBMS对数据库的保护通过4个方面来实现:数据库的恢复、数据库的并发控制、数据库的完整性控制、数据库安全性控制。DBMS的其他保护功能还有系统缓冲区的管理以及数据存储的某些自适应调节机制等。

6数据库的维护:这一部分包括数据库的数据载入、转换、转储、数据库的重组合重构以及性能监控等功能,这些功能分别由各个使用程序来完成。

7通信:DBMS具有与 *** 作系统的联机处理、分时系统及远程作业输入的相关接口,负责处理数据的传送。对网络环境下的数据库系统,还应该包括DBMS与网络中其他软件系统的通信功能以及数据库之间的互 *** 作功能。

常见的数据库:

达梦数据库

SYBASE

DB2

ORACLE

MySQL

ACCESS

Visual Foxpro

MS SQL Server

Informix

PostgreSQL

参考链接:百度百科 - 数据库系统百度百科 - 数据库百度百科 - 数据库管理系统

数据库一对一关系的缺点如下:

1、数据类型表达能力差。关系数据库的根本缺陷在于缺乏直接构造与这些应用有关的信息的类型表达能力,缺乏这种能力将产生以下有害的影响。

2、复杂查询功能差。在这种环境下由存取信息产生的查询必须处理大量的表和复杂的码联系以及连接运算。

3、支持长事务能力差。基于键值关系的较复杂的锁机制来说却很难推广也难以实现。

4、环境应变能力差。在要求系统频繁改变的环境下,关系系统的成本高,修改困难。

以上就是关于简述数据库关系的性质全部的内容,包括:简述数据库关系的性质、对关系数据库来说,下面说法错误的是()、如何定义数据库表之间的关系等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9489452.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存