北京理工大学-数据库-作业2-数据字典表设计
数据字典模板

数据字典模板一、引言数据字典是一个组织或者系统中所使用的数据的结构和定义的集合。
它提供了对数据元素、数据类型、数据长度、数据格式、数据来源以及数据关系等信息的详细描述。
本文档旨在定义数据字典的标准格式,以便统一组织和管理数据字典的内容。
二、1. 数据字典标识符数据字典标识符用于惟一标识一个数据字典。
它由字母、数字和下划线组成,长度不超过20个字符。
2. 数据字典版本数据字典版本用于标识数据字典的版本号。
它由数字和小数点组成,例如 1.0、2.1等。
3. 数据字典作者数据字典作者是指创建和维护数据字典的人员的姓名或者用户名。
4. 数据字典创建日期数据字典创建日期是指创建数据字典的日期,格式为YYYY-MM-DD。
5. 数据字典更新日期数据字典更新日期是指最近一次更新数据字典的日期,格式为YYYY-MM-DD。
6. 数据字典描述数据字典描述用于描述数据字典的目的和内容。
7. 数据字典结构数据字典结构包括数据元素、数据类型、数据长度、数据格式、数据来源和数据关系等。
- 数据元素:数据元素是指一个数据项或者数据对象的名称,例如"姓名"、"年龄"等。
- 数据类型:数据类型是指数据元素的类型,例如整数、字符、日期等。
- 数据长度:数据长度是指数据元素的长度,例如整数的长度为4字节。
- 数据格式:数据格式是指数据元素的显示格式,例如日期的格式为YYYY-MM-DD。
- 数据来源:数据来源是指数据元素的来源,例如数据库表、文件等。
- 数据关系:数据关系是指数据元素之间的关系,例如主键-外键关系。
8. 数据字典示例以下是一个示例数据字典的部份内容:数据字典标识符:EMPLOYEE数据字典版本:1.0数据字典作者:John Smith数据字典创建日期:2022-01-01数据字典更新日期:2022-02-15数据字典描述:该数据字典用于描述员工信息。
数据元素:员工编号数据长度:4字节数据格式:无数据来源:数据库表"EMPLOYEE"数据关系:主键数据元素:员工姓名数据类型:字符数据长度:50字节数据格式:无数据来源:数据库表"EMPLOYEE"数据关系:无数据元素:员工年龄数据类型:整数数据长度:4字节数据格式:无数据来源:数据库表"EMPLOYEE"数据关系:无数据元素:员工性别数据类型:字符数据格式:无数据来源:数据库表"EMPLOYEE"数据关系:无数据元素:入职日期数据类型:日期数据长度:8字节数据格式:YYYY-MM-DD数据来源:数据库表"EMPLOYEE"数据关系:无数据元素:部门编号数据类型:整数数据长度:4字节数据格式:无数据来源:数据库表"EMPLOYEE"数据关系:外键,关联数据库表"DEPARTMENT"的主键"DEPT_ID"三、总结本文档定义了数据字典的标准格式,包括数据字典标识符、数据字典版本、数据字典作者、数据字典创建日期、数据字典更新日期、数据字典描述、数据字典结构等内容。
数据库字典表设计

数据库字典表设计在稍⼤⼀些的项⽬中,我们总是需要管理各种各样的类型类型数据(如商品类型、游戏类型。
)。
对于这些类型的管理类似,如果为每⼀种类型都建⽴⼀张表去维护(⽽在项⽬中,正常出现50种类型),那⼯作量是可想⽽之⼤,并且我们不得不去了解每⼀个类型表的名字,以去关联它。
因此,我们需要⼀种数据模型以完成对多种多样类型管理的需求。
字典表dictionary字段名类型是否可空中⽂名描述dict_name varchar(50) no 字典名字dict_value int no 字典值固定的,不变的字典数据表dictionarydata字段名类型是否可空中⽂名描述id int no ⾃增长dict_value int no dictionary中的值dictdata_name varchar(50) no 字典名字dictdata_value varchar(5) no 字典值固定的,不变的isfixed int no 是否固定 0默认为不固定,1固定;固定就不能再去修改了。
说明:dictionary中的dict_value和dictionarydata中的dictdata_value都是添加完不可变的,其它表的类型字段存取的是dictionarydata中的dictdata_value,在查询关联时,需要添加dict_value的约束(注:有⼈习惯存取dictionarydata中的ID,这样在查询时可以少加dict_value的约束。
但是在系统的升级,或错误删除dictionarydata表时,后果将是空难性的,并且存取dictdata_value主表的类型字段简单明了,⽴即可以知道它是什么类型,所以建议存取dictdata_value)。
表扩展:对于现有的设计,如果需要类型数据需要简单的树形结构,可以在dictionarydata可添加parent_id;如果需逻辑删除数据时,可以添加iscancle;最后,在程序中最好再建⽴两个类dictionary、dictionarydata⾥⾯定义整型变量对应于dict_value和dictdata_value值,这样在程序中就可以通过代码来引⽤类型数据。
数据库设计(数据字典)

String
学生联系方式
snID
int
学生生源地ID
sAddress
String
学生家庭住址
sPostalcode
String
6个数字
学生邮政编码
sE-mail
String
学生邮箱
eduBackgroundID
int
学生学历ID
sPhoto
String
学生照片
stateID
在校学生管理系统
表名:学生信息表(Studentform)
数据名
类型
范围
约束
备注
sID
int
学生ID
sName
String
学生姓名
stuNo
int
10-15
主键
学生学号
sSex
String
“男”或“女”
学生性别
sAge
int
当前日期-出生日期=学生年龄
学生年龄
sNation
String
学生民族
sExamNo
String
系院名称
collegeNumber
String
系院编号
collegeState
String
系院状态
collegePeople
String
系院负责人
表名:专业表(profession)
数据名
类型
范围
约束
备注
professionID
int
主键
专业ID
professionName
String
专业名称
applyCause
北理工《实用数据库》期末考试精选题汇总【含答案解析】81

《实用数据库》课程复习提纲第1章数据库系统概述本章要点掌握数据库最常用的术语和基本概念明确常用数据模型组成要素明确最常用的数据模型的区别及优缺点掌握数据库系统的三级模式结构了解数据库系统的组成具体内容1.在数据库方式下,信息处理中占据中心位置的是数据。
2.数据库在磁盘上的基本组织形式是文件。
3.DBS是指数据库系统。
4.数据库系统中,最早出现的数据模型是层次模型。
5.数据库技术的主要目的是有效地管理和存取大量的数据资源。
6.与“文件”结构相比,“数据库”结构有些什么不同?•数据的结构化。
文件由记录组成,但各文件之间缺乏联系。
数据库中数据在磁盘中仍以文件形式组织,但这些文件之间有着广泛的联系。
数据库的逻辑结构用数据模型来描述,整体结构化。
数据模型不仅描述数据本身的特点,还要描述数据之间的联系。
•数据独立性。
文件只有设备独立性,而数据库还具有逻辑独立性和物理独立性。
•访问数据的单位。
访问文件中的数据,以记录为单位。
访问数据库中的数据,以数据项(字段)为单位,增加了系统的灵活性。
第2章数据库设计本章要点•了解数据库设计的任务与步骤•了解需求分析阶段的任务•掌握实体-联系模型•掌握E-R图的概念及设计方法•掌握关系模型的概念•了解数据库的实施、使用与维护具体内容1.实体集的联系类型有如下3种类型:(1)一对一联系设有实体集A与实体集B,如果A中的一个实体,至多与B中的一个实体关联,反过来,B中的一个实体,至多与A中的一个实体关联,称A与B是“一对一”联系类型,记作(1:1)。
(2)一对多联系设有实体集A与实体集B,如果A中的一个实体,与B中可以有多个实体关联,反过来,B中的一个实体,至多与A中的一个实体关联,称A与B是“一对多”联系类型,记作(1∶n)。
(3)多对多联系设有实体集A与实体集B,如果A中的一个实体,与B中可以有多个实体关联,反过来,B中的一个实体,与A中可以有多个实体关联,称A与B是多对多联系类型,记作(m∶n)。
北京理工大学-数据库-实验_2-数据更新、删除与权限管理

(封皮页)北京理工大学数据库实验2主讲老师:赵晓林学生:李经2012/11/21(目录页)实验 2:数据更新、删除与权限管理 02.1 作业声明 02.2 实验目的 02.2.1 体会主键、外键约束 02.2.2 对“学籍管理系统”表格进行数据查询 02.3 实验过程 02.3.1 练习更新、删除主表数据(针对主键属性且子表中可能有参照外键数据) . 02.3.2 练习更新、删除主表数据(针对非主键属性) 02.3.3 练习先删除子表数据,再删除主表数据 (1)2.3.4 使用子查询方式更新、删除数据 (1)2.3.5 权限管理 (2)2.4 实验结论 (5)2.5 实验体会 (5)实验 2:数据更新、删除与权限管理2.1 作业声明本次作业全部由本人完成,若存在抄袭或雷同现象,本人愿意接受老师相应的处理2.2 实验目的2.2.1体会主键、外键约束2.2.2对“学籍管理系统”表格进行数据查询•确定要更新和删除的数据2.3 实验过程2.3.1练习更新、删除主表数据(针对主键属性且子表中可能有参照外键数据)2.3.1.1 sql代码:update xb set xdh='06' --系表为主表where xmc='中文'2.3.1.2 结果:系统显示:消息547,级别16,状态0,第2 行UPDATE 语句与REFERENCE 约束"FK__xs__xdh__54968AE5"冲突。
该冲突发生于数据库"master",表"dbo.xs", column 'xdh'。
语句已终止。
由于有外键依赖,所以无法更新。
选择删除相关联的外键:ALTER TABLE js drop CONSTRAINT FK__js__xdh__09FE775DALTER TABLE xs drop CONSTRAINT FK__xs__xdh__0539C240再次执行更新操作,更新成功2.3.2练习更新、删除主表数据(针对非主键属性)2.3.2.1 sql代码:首先先恢复依赖于系表xdh项的两个外键(2.3.1.1中删除的那两个外键)update xb set xmc='德语' --更新where xdh='05'delete from xb where xdh='05' --删除数据更新成功:因系名称不存在主外键关系,因此可直接修改。
2022年北京理工大学计算机科学与技术专业《数据库原理》科目期末试卷B(有答案)

2022年北京理工大学计算机科学与技术专业《数据库原理》科目期末试卷B(有答案)一、填空题1、SQL语言的数据定义功能包括______、______、______和______。
2、关系系统的查询优化既是关系数据库管理系统实现的关键技术,又是关系系统的优点。
因为,用户只要提出______,不必指出 ______。
3、在SQL Server 2000中,数据页的大小是8KB。
某数据库表有1000行数据,每行需要5000字节空间,则此数据库表需要占用的数据页数为_____页。
4、安全性控制的一般方法有____________、____________、____________、和____________视图的保护五级安全措施。
5、从外部视图到子模式的数据结构的转换是由______________实现;模式与子模式之间的映象是由______________实现;存储模式与数据物理组织之间的映象是由______________实现。
6、在数据库系统封锁协议中,一级协议:“事务在修改数据A前必须先对其加X锁,直到事务结束才释放X锁”,该协议可以防止______;二级协议是在一级协议的基础上加上“事务T在读数据R之前必须先对其加S锁,读完后即可释放S锁”,该协议可以防止______;三级协议是在一级协议的基础上加上“事务T在读数据R之前必须先对其加S锁,直到事务结束后才释放S锁”,该协议可以防止______。
7、如图所示的关系R的候选码为;R中的函数依赖有;R属于范式。
一个关系R8、在SELECT命令中进行查询,若希望查询的结果不出现重复元组,应在SEL ECT语句中使用______保留字。
9、数据仓库是______、______、______、______的数据集合,支持管理的决策过程。
10、设在SQL Server 2000环境下,对“销售数据库”进行的备份操作序列如下图所示。
①出现故障后,为尽可能减少数据丢失,需要利用备份数据进行恢复。
数据库数据字典

数据库数据字典数据库数据字典是一个记录数据库中各个表、字段、约束等信息的文档,它提供了对数据库结构和数据的详细描述,方便开辟人员、管理员和其他相关人员了解和使用数据库。
本文将按照任务要求,详细介绍数据库数据字典的标准格式和内容。
一、数据字典的标准格式数据库数据字典通常包含以下几个部份的信息:1. 数据库基本信息:包括数据库名称、版本、创建日期等基本属性。
2. 表信息:列出所有表的详细信息,包括表名、表描述、创建日期等。
3. 字段信息:列出每一个表中的字段信息,包括字段名、数据类型、长度、是否为空、默认值等。
4. 约束信息:列出每一个表中的约束信息,包括主键、外键、惟一约束、检查约束等。
5. 索引信息:列出每一个表中的索引信息,包括索引名、索引类型、索引字段等。
6. 视图信息:列出数据库中的视图信息,包括视图名、视图定义等。
7. 存储过程和函数信息:列出数据库中的存储过程和函数信息,包括名称、参数、返回值等。
8. 触发器信息:列出数据库中的触发器信息,包括触发器名称、触发事件、触发条件等。
9. 数据字典更新日志:记录数据字典的更新历史,包括更新日期、更新内容等。
二、数据字典的内容编写以下是一个示例数据库数据字典的内容,仅供参考:1. 数据库基本信息:- 数据库名称:CompanyDB- 数据库版本:MySQL 8.0- 创建日期:2022年1月1日2. 表信息:- 表名:Employee- 表描述:存储公司员工信息的表- 创建日期:2022年1月2日3. 字段信息:- 字段名:EmployeeID数据类型:INT长度:10是否为空:否默认值:无描述:员工ID- 字段名:FirstName数据类型:VARCHAR长度:50是否为空:否默认值:无描述:员工名字的姓氏- 字段名:LastName数据类型:VARCHAR长度:50是否为空:否默认值:无描述:员工名字的名字- 字段名:Email数据类型:VARCHAR长度:100是否为空:是默认值:NULL描述:员工的电子邮件地址 - 字段名:Salary数据类型:DECIMAL长度:10, 2是否为空:是默认值:NULL描述:员工的薪水4. 约束信息:- 主键:EmployeeID- 惟一约束:Email5. 索引信息:- 索引名:idx_EmployeeID索引类型:B-tree索引字段:EmployeeID- 索引名:idx_LastName索引类型:B-tree索引字段:LastName6. 视图信息:- 视图名:EmployeeView视图定义:SELECT EmployeeID, FirstName, LastName FROM Employee 7. 存储过程和函数信息:- 存储过程名:GetEmployeeByID参数:@EmployeeID INT返回值:无描述:根据员工ID获取员工信息的存储过程- 函数名:CalculateSalary参数:@EmployeeID INT返回值:DECIMAL描述:根据员工ID计算薪水的函数8. 触发器信息:- 触发器名:UpdateEmployee触发事件:BEFORE UPDATE触发条件:当更新Employee表中的Salary字段时9. 数据字典更新日志:- 更新日期:2022年1月3日更新内容:新增了存储过程GetEmployeeByID以上是一个简单的数据库数据字典的示例,实际的数据字典应根据具体的数据库和需求进行编写。
2022年北京理工大学软件工程专业《数据库原理》科目期末试卷A(有答案)

2022年北京理工大学软件工程专业《数据库原理》科目期末试卷A(有答案)一、填空题1、关系数据库中基于数学的两类运算是______________和______________。
2、数据的安全性是指____________。
3、在SQL Server 2000中,某数据库用户User在此数据库中具有对T 表数据的查询和更改权限。
现要收回User对T表的数据更改权,下述是实现该功能的语句,请补全语句。
_____UPDATE ON T FROM User;4、事务故障、系统故障的恢复是由______完成的,介质故障是由______完成的。
5、关系规范化的目的是______。
6、在VB 6.0中,已经用Adobel连接到数据库,并已绑定到数据库中的某个关系表,现要通过此控件向表中插入数据,需要用到Adobel.Recordset的_____方法和Update方法,使用Adobel.Recordset的_____方法可以使当前行指针在结果集中向前移动一行。
7、以子模式为框架的数据库是______________;以模式为框架的数据库是______________;以物理模式为框架的数据库是______________。
8、有两种基本类型的锁,它们是______和______。
9、在SELECT命令中,______子句用于选择满足给定条件的元组,使用______子句可按指定列的值分组,同时使用______子句可提取满足条件的组。
10、数据模型是由______________、______________和______________三部分组成。
二、判断题11、文件系统的缺点是数据不能长期存储。
()12、在SELECT语句中,需要对分组情况满足的条件进行判断时,应使用WHERE子句。
()13、二级封锁协议能解决不可重复读问题,不能解决读"脏"数据。
()14、关系中任何一列的属性取值是不可再分的数据项,可取自不同域中的数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北京理工大学
数据库
作业2
主讲老师:赵小林
学生:李经
2012/11/27
Assignment 2:Database Design (1)
2.1 作业声明 (1)
2.2 作业内容 (1)
2.2.1 多级代码数据字典表设计 (1)
Assignment 2:Database Design
2.1 作业声明
本次作业全部由本人完成,若存在抄袭现象,本人愿意接受本次作业按照0分记录的处理2.2 作业内容
2.2.1多级代码数据字典表设计
需要解决的问题:
1、编码长度改变
2、编码方式改变
3、代码有效期改变
4、代码被覆盖或替换
5、要求保留原信息
多级表示例请参照课堂讲义。
2.2.1.1 解决方案
方案一:
设计各表如下:
学科门类表(xkml)
字段名字段含义字段类型字段长度NULL 备注xkmlmc 学科门类名称字符30
xkmldh 学科门类代号varchar 10 PK
kssxsj 开始生效时间日期
jzsxsj 截止生效时间日期√
一级学科表(yjxk)
二级学科表(ejxk)
三级学科表(sjxk)
设计思路&解决方法:
先建立以上4张表,其中外键的设置方式为:每一级学科的上级代号参照上级学科表的相应代号,例如:三级学科表中的二级学科代号参照二级学科表中的二级学科代号。
1、编码长度改变:各级学科代号为varchar,学科级数每增加一级,代号长度就增加10,基本可满足要求。
2、编码方式改变:例如增加一个四级学科,可以添加一张四级学科表:
四级学科表(sijxk)
3、代码有效期改变:每一张表都有开始生效时间以及截至生效时间的项,以此来确定该表中的数据是否还生效
4、代码被覆盖或替换:例如:如果想将工学08改为工学18,先在学科门类中新建工学18,需先将其次级表中的数据的代号由08XX改为18XX,若该次级表还有次级表,需先将该次级表中的数据中的该级学科代号08XXYY改为18XXYY,依此类推,在此过程中,还需将所有修改过的表中的数据的截至生效时间改为当前时间。
可使用一个触发器用递归思想来实现此功能。
5、要求保留原信息:例如删除工学08这个学科门类,同4中的方法,从最低级的表中的数据开始将截止日期设置为当前时间,表示已经过期,但是保留了原有数据。
方案二:
采用树形结构:
学科门类
一级学科
二级学科
于是每一级的学科表便都可设计如下:
该方案除了能实现题目的要求外,还有以下优点:
每一学科级别的数据都采用同一种表结构,非常有利于统一管理。
例如添加一门学科,不论是否是现有的级别的学科,只需要向表中添加数据,而不用新建一张表。
查询时也更高效,因为不需要进行表间的连接。
更新数据时很方便,例如如果想将工学08改为工学18,只需将所有上级学科id为08的数据的上级id改为18即可,大大降低了复杂度。
学科升级或者降级也相对容易实现,仅需修改上级学科id。