设计数据库的模式结构(数据库设计过程中形成的数据库模式)

设计数据库的模式结构(数据库设计过程中形成的数据库模式),第1张

三级模式结构:外模式、模式和内模式一、模式(Schema)定义:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图

理解:①一个数据库只有一个模式;②是数据库数据在逻辑级上的视图;③数据库模式以某一种数据模型为基础;④定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系

二、外模式(ExternalSchema)定义:也称子模式(Subschema)或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示

理解:①一个数据库可以有多个外模式;②外模式就是用户视图;③外模式是保证数据安全性的一个有力措施

三、内模式(InternalSchema)定义:也称存储模式(StorageSchema),它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式(例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定)

理解:①一个数据库只有一个内模式;②一个表可能由多个文件组成,如:数据文件、索引文件

它是数据库管理系统(DBMS)对数据库中数据进行有效组织和管理的方法其目的有:①为了减少数据冗余,实现数据共享;②为了提高存取效率,改善性能

考点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<表名>

基本表一旦被删除,表中的数据、此表上建立的索引和视图都将自动被删除。因此执行删除基本表的 *** 作时一定要格外小心。

数据库,表,视图,索引,触发器,函数,存储过程,游标,约束,,Rule。

表由行和列构成的集合,用来存储数据数据类型,定义列或变量的数据类型,SQL Server提供了系统数据类型,并允许用户自定义数据类型。

视图由表或其他视图导出的虚拟表索引,为数据快速检索提供支持且可以保证数据唯一性的辅助数据结构约束,用于为表中的列定义完整性的规则。

默认值 为列提供的缺省值存储过程,存放于服务器的预先编译好的一组T-SQL语句,触发器 特殊的存储过程,当用户表中数据改变时,该存储过程被自动执行。

右击数据点,点属性,在选项中选择数据库兼容级别为SQL2005,备份或分离后即可还或附加在SQL2005上。

选择任务生成脚本,在生成脚本选项中选择编写数据的脚本改为True,在为数据库服务器版本生成脚本一项中,改为SQL 2005,生成的脚本直接在SQL2005中执行,即可。

正经回答:先在数据库中建立好视图,然后django中建立对应的model。表所对应的类下面再建立一个Meta类,大致如下

class ViewModel(modelsModel):

    """这个model类对应你所建立好的视图"""

    class Meta(object):

        """同理,该方法可用于使用mysql中任何已有的表,不仅是视图"""

        db_table = 'your_view' #显式指定表名,也就是你建立的视图的名字

        managed = false #默认是ture,设成false django将不会执行建表和删表 *** 作

    # 建立字段间的映射

    #  需要注意的是,必须设一个字段为主键

    #  不然django会自动创建一个id字段为主键,引发错误

百度知道越来越辣鸡了,全是答非所问的。

以上就是关于设计数据库的模式结构(数据库设计过程中形成的数据库模式)全部的内容,包括:设计数据库的模式结构(数据库设计过程中形成的数据库模式)、全国计算机三级数据库考点分析之数据库系统基本原理[2]、SQL Server常见的数据库对象有哪些等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/sjk/10204654.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存