第4章 实现数据完整性
- 格式:doc
- 大小:321.50 KB
- 文档页数:20
第4章数据库和数据仓库4.1本章知识框架与学习要求数据库技术是数据管理的最新技术,是计算机科学的重要分支。
它已经成为先进信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。
数据库已经成为人们存储数据、管理信息、共享资源的最先进最常用的技术。
认识和掌握有关的数据库技术对学好本课程具有重要作用。
本章主要介绍了数据库技术的相关概念包括数据的组织层次、数据模型、信息模型、关系规范化等,以及数据库的设计方法,数据库仓库和数据挖掘的概念。
4.1.1 知识框架与学习要求一、数据的描述与组织(掌握)(一)三个世界1.现实世界2.信息世界3.计算机世界(二)数据组织的层次1.数据项(字段)2.记录3.数据文件4.数据库二、数据库管理技术(一)数据管理的发展(了解)1.简单应用阶段2.文件系统阶段3.数据库系统阶段(二)数据库管理系统(掌握)1.数据库系统(DBS)2.数据库管理系统(DBMS)(1)数据库的定义功能(2)数据库的操作功能(3)数据库的保护功能(4)数据库的维护功能(5)数据的存储管理三、数据模型(掌握)(一)信息模型(概念模型)1.信息模型的要素2.两个实体集之间联系的分类3.实体联系模型(E-R模型)(二)数据模型1.数据模型的三要素2.数据模型与信息模型的关系3.三种主要的数据模型(1)层次模型(Hierarchical Model)(2)网状模型(Network Model)(3)关系模型(Relational Model)(三)概念模型向关系模型的转换(四)关系的规范化1.第一范式(1NF)2.第二范式(2NF)3.第三范式(3NF)五、数据库设计(掌握)(一)数据库设计方法简述(二)数据库设计步骤六、数据仓库和数据挖掘(了解)(一)数据仓库1.数据仓库的概念2.数据仓库和数据库的区别3.数据仓库的特性4.数据仓库的基本结构5.数据仓库工具的组成(二)数据挖掘1.数据挖掘的概念2.数据仓库与数据挖掘的关系4.1.2 学习重点本章重点掌握以下几方面的内容:1.三个世界即现实世界、信息世界、计算机世界的特点及区别与联系;2.人工管理阶段、文件系统阶段及数据库系统阶段应用程序与数据关系的区别;3.数据库管理系统功能4.信息(概念)模型的要素、E-R模型的绘制方法;5.数据模型的三要素、数据模型与信息模型的关系、关系模型;6.概念模型向关系模型的转换;7.数据库设计方法和步骤4.2 教材习题与解答4.2.1 习题一、名词解释1.数据库2.记录3.DBMS4.DBS5.概念模式6.数据模型7.概念模型8.键或码9.数据操作10.1NF 11. 2NF 12.3NF 13.关系14.关系模式15.数据仓库16.数据挖掘二、简答题1. 数据库系统组织数据的特点是什么?2. 数据库系统与文件系统的区别是什么?3. 数据管理经历了哪几个阶段?各个阶段的特点是什么?4. 数据模型的三要素是什么?5. 数据库管理系统的主要功能是什么?6. 信息模型的要素有哪些?7. 试述概念模式在数据库中的重要地位。
《网络信息安全B》作业题和考试复习题第2-4章1.什么是拒绝服务攻击?列举出至少四种拒绝服务攻击方法。
2.简单描述SYN Flood攻击的实现原理。
3.简单描述Smurf攻击的实现原理。
6.什么是社交工程攻击?7.网络信息安全需求包含哪六个基本方面?分别简单说明它们的含义。
9.什么是PPDR安全模型?它包含哪几个部分的含义?〔可配合图形描述〕作为一种安全模型,它有哪几个方面的特点?11.TCSEC又叫什么?严格说它是一个电脑安全标准还是网络安全标准?商用操作系统一般是哪些安全级别?它们采用哪种访问控制策略?军用或实验室操作系统一般是哪些安全级别?它们采用哪种访问控制策略?哪种级别的操作系统最安全?哪种级别的操作系统最不安全?现行的Windows和UNIX操作系统分别到达哪个安全级别?现有的商用操作系统是否是“安全的操作系统”?第5679章12.传统密码学和现代密码学最主要的区别是什么?为什么要求现代密码学的加密算法必须公开?14.现代密码学主要分为哪两种加密算法?对称密码加密算法又分为哪两种?15.举出四种最主要的分组加密算法?哪一种最经典?哪一种最安全且灵活?16.举出四种最主要的公开加密算法?哪一种只能用于密钥交换?哪一种只能用于数字签名?哪一种功能最全面且最常用?哪一种是未来的发展方向?17.可以预计,哪种密码学将最终取代现有的对称加密算法和公开加密算法?19.系统中有N个人需要两两保密通信,假设使用对称加密算法,每个人需要保存多少个密钥,系统中一共有多少个密钥?假设使用公开加密算法,每个人需要保存多少个密钥,系统中一共有多少个密钥?20.如果要用公开加密算法〔如RSA〕实现A将数据机密性地发送给B,该如何实现?该如何实现发送方不可否认〔进行数字签名〕?如果要同时满足机密性和数字签名,该如何使用RSA算法?21.在管理上,对称密钥和公开加密系统中的私钥存在最主要的威胁是什么?22.在管理上,公开加密系统中的公钥存在最主要的威胁是什么?列举一个方案说明如何防范这种威胁?23.使用什么算法可以最简单实现数据在存储和传输中的完整性?这种算法是公开的吗?如何使用它保证数据在传输过程中完整性?第16章27.用图形说明PGP加密系统的工作原理。
计算机网络安全基础(第5版)习题参考答案第1章习题:1.举出使用分层协议的两条理由?1.通过分层,允许各种类型网络硬件和软件相互通信,每一层就像是与另一台计算机对等层通信;2.各层之间的问题相对独立,而且容易分开解决,无需过多的依赖外部信息;同时防止对某一层所作的改动影响到其他的层;3.通过网络组件的标准化,允许多个提供商进行开发。
2.有两个网络,它们都提供可靠的面向连接的服务。
一个提供可靠的字节流,另一个提供可靠的比特流。
请问二者是否相同?为什么?不相同。
在报文流中,网络保持对报文边界的跟踪;而在字节流中,网络不做这样的跟踪。
例如,一个进程向一条连接写了1024字节,稍后又写了另外1024字节。
那么接收方共读了2048字节。
对于报文流,接收方将得到两个报文,、每个报文1024字节。
而对于字节流,报文边界不被识别。
接收方把全部的2048字节当作一个整体,在此已经体现不出原先有两个不同的报文的事实。
3.举出OSI参考模型和TCP/IP参考模型的两个相同的方面和两个不同的方面。
OSI模型(开放式系统互连参考模型):这个模型把网络通信工作分为7层,他们从低到高分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
第一层到第三层属于低三层,负责创建网络通信链路;第四层到第七层为高四层,具体负责端到端的数据通信。
每层完成一定的功能,每层都直接为其上层提供服务,并且所有层次都互相支持。
TCP/IP模型只有四个层次:应用层、传输层、网络层、网络接口层。
与OSI功能相比,应用层对应的是OSI的应用层、表示层、会话层;网络接口层对应着OSI的数据链路层和物理层。
两种模型的不同之处主要有:(1) TCP/IP在实现上力求简单高效,如IP层并没有实现可靠的连接,而是把它交给了TCP层实现,这样保证了IP层实现的简练性。
OSI参考模型在各层次的实现上有所重复。
(2) TCP/IP结构经历了十多年的实践考验,而OSI参考模型只是人们作为一种标准设计的;再则TCP/IP有广泛的应用实例支持,而OSI参考模型并没有。
第1章数据库概述1.试说明数据、数据库、数据库管理系统和数据库系统的概念。
答:数据是数据库中存储的基本对象。
数据库:是存放数据的场所。
数据库管理系统:管理数据库数据及其功能的系统软件。
数据库系统:由数据库、数据库管理系统、数据库管理员和数据库应用程序共同构成的系统。
2.数据管理技术的发展主要经历了哪几个阶段?答:文件管理和数据库管理。
3.文件管理方式在管理数据方面有哪些缺陷?答:(1)编写应用程序不方便。
(2)数据冗余不可避免。
(3)应用程序依赖性。
(4)不支持对文件的并发访问。
(5)数据间联系弱。
(6)难以满足不同用户对数据的需求。
4.与文件管理相比,数据库管理有哪些优点?答:(1)相互关联的数据集合;(2)较少的数据冗余;(3)程序与数据相互独立;(4)保证数据的安全可靠;(5)最大限度地保证数据的正确性;(6)数据可以共享并能保证数据的一致性。
5.比较用文件管理和用数据库管理数据的主要区别。
答:文件系统不能提供数据的独立性,也不能提供数据共享、安全性等功能,这些需要客户端编程实现。
而数据库管理系统可以很方便地提供这些功能。
6.在数据库管理方式中,应用程序是否需要关心数据的存储位置和存储结构?为什么?答:不需要。
因为这些都由数据库管理系统来维护。
7.在数据库系统中,数据库的作用是什么?答:数据库是存储数据的仓库,其作用是存储数据。
8.在数据库系统中,应用程序可以不通过数据库管理系统而直接访问数据文件吗?答:不可以。
9.数据独立性指的是什么?它能带来哪些好处?答:数据独立性包括逻辑独立性和物理独立性两部分。
物理独立性是指当数据的存储结构发生变化时,不影响应用程序的特性;逻辑独立性是指当表达现实世界的信息内容发生变化时,不影响应用程序的特性。
这两个独立性使用户只需关心逻辑层即可,同时增强了应用程序的可维护性。
10.数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么?答:数据库系统一般包括3个主要部分:数据库、数据库管理系统和应用程序。
数据完整性:良好的数据和记录规范--实例解读在纸质和电子系统中实施ALCOA(+)的期望和详细风险管理考虑的实例为了保证记录和数据在他们整个使用期间即数据生命周期内的准确、完整、一致和可靠企业应该遵循良好文件规范(GDocP)。
原则上要求文件应该有可追溯、清晰、同步记录、原始和准确的属性(有时候也称作ALCOA)。
在此附件中的表格提供了纸质和电子记录和系统的常规ALCOA要求实施的进一步的指导。
另外,详细的风险管理的实例以及几个例证演示了这些措施是如何典型实施的。
这些例证提供来帮助理解概念和如何达到基于风险的成功实施。
这些例子不应该作为新的规范要求。
可追溯的可追溯的意思是在记录中获取信息以便此信息是唯一可以确定执行者的数据(如人员、计算机系统)。
为了确保行为和记录可以追溯到唯一的个人控制方面详细的风险管理考虑1) 对于有法律约束的签名,在唯一、可识别的(实际)人员签名和签名的事件之间应该有一个可验证的、安全的联系。
签名应该永久性地链接至被签的记录。
使用一个应用程序用于签文件另一个用来储存签发的文件的系统应该确保两个保持链接以确保其属性不被破坏。
2) 签名和个人印章应该在审核或执行被记录的事件或行为的同时进行。
3) 使用个人印章去签署文件需要额外的风险管理控制,比如手写日期和要求印章储存在安全的地方访问权限仅仅限制给指定的人员或有其他避免潜在被滥用的其他方法的程序。
4) 使用个人手写签名的数字图片签署文件通常是不接受的。
当这些储存的图片没有保存在只允许指定的人员访问的地方或者没有其他预防滥用的措施和没有放置在文档和邮件中它们就能很容易地被复制和被其他人重复使用,这种行为在这些签名的真实性方面的信心就会大打折扣。
有法规约束的、手写签名应该在签名的同时签日期,电子签名应该包含签名的时间/日期标记来记录签署的事件的同时发生的性质。
5) 不鼓励使用混合系统,但是在有原有遗留系统等待替换的地方,现场应该有(风险)降低措施。
第4章数据库安全及维护第4章数据库安全及维护本章学习⽬标数据库系统中由于⼤量数据集中存放,⽽且为许多⽤户直接共享,是宝贵的信息资源,所以安全性问题更为重要。
系统安全保护措施是否有效是数据库系统的主要性能指标之⼀。
本章将介绍以下⼏部分内容:●数据库安全性问题的基本概念和保证数据安全性的基本措施●数据库并发情况下的数据安全及处理⽅法●数据发⽣故障情况下的恢复技术4.1 数据库安全性4.1.1 基本概念数据库的安全性指保护数据库以防⽌不合法的使⽤所造成的数据泄露、更改或破坏。
安全性问题不是数据库系统所独有的,计算机系统都有这个问题,是因为在数据库系统中,⼤量数据集中存放,并为许多⽤户直接共享,是宝贵的信息资源,从⽽使安全性问题更为突出,系统安全保护措施是否有效是数据库系统的主要性能指标之⼀。
安全性问题和保密问题是密切相关的。
前者主要涉及数据的存取控制、修改和传播的技术⼿段;⽽后者在很⼤程度上是法律、政策、伦理、道德等问题。
这⼀节主要讨论安全性的⼀般概念和⽅法,然后介绍⼀些数据库系统的安全性措施。
4.1.2 安全措施的设置模型在计算机系统中,安全措施通常是⼀级⼀级层层设置的。
例如可以有如图4-1所⽰的计算机系统安全模型。
图4-1 计算机系统安全模型在如图4-1所⽰的安全模型中,⽤户在进⼊计算机系统时,⾸先根据⽤户输⼊的⽤户标识进⾏⾝份验证,只有合法的⽤户才准许登录计算机系统。
进⼊计算机系统后,DBMS对⽤户进⾏存取控制,只允许⽤户执⾏合法操作,操作系统同时允许⽤户进⾏安全操作。
数据最终可数据库技术及应⽤54以通过加⼊存取密码的⽅式存储到数据库中。
下⾯讨论最常见的⽤户标识与鉴别、存取控制等安全措施。
1.⽤户标识和鉴别⾸先,系统提供⼀定的⽅式让⽤户标识⾃⼰的名字或⾝份。
系统进⾏核实,通过鉴别后才提供机器使⽤权。
常⽤的⽅法有:●⽤⼀个⽤户名或者⽤户标识号来标明⽤户⾝份,系统鉴别此⽤户是否为合法⽤户。
若是,则可以进⼊下⼀步的核实;若不是,则不能使⽤计算机。
第6-13章1.某单位由不同的部门组成,不同的部门每天都会生产一些报告,报表等数据,以往都采用纸张的形状来进行数据的保存和分类,随着业务的扩展,这些数据越来越多,管理这些报告,报表也越来越费时费力,此时应该清楚()。
A.由多个人来完成这些工作B.在不同的部门中,由专门的人员去管理这些数据C.采用数据库系统来管理这些数据D.把这些数据统一或一样的格式2.数据完整性是指()。
A.数据库中的数据不存在重复B.数据库中所有的数据格式是一样的C.所有的数据全部保存在数据库中D.数据库中的数据能够正确地反映实际情况3.SQL Server中自己建立的MySchool数据库属于().A.用户数据库B.系统数据库C.数据库模版D.数据库管理系统4.一个登录名的数据库角色成员身份被设置为db_denydatawriter,该用户对该数据库将()。
A.只能写入数据,不能读取数据B.不能写入数据C.既能写入数据,也能读取数据D.能够执行所有的管理操作5.数据冗余指的是()。
A.数据和数据之间没有联系B.数据有丢失C.数据量太大D.存在重复的数据6.()的操作是把已经存在于磁盘的数据库文件恢复成数据库。
A.附加数据库B.数据有丢失C.分离数据库D.压缩数据库7.通过数据库的选项可以设置数据库()。
A.是否是只读的B.物理文件是否允许被删除C.允许创建的表的数目D.表中所允许的最大数据行的数目8.SQL Server数据库的主数据文件的扩展名应设置为()。
A. .sqlB. .mdfC. .mdbD. .db9.SQL Server提供了四种类型的约束实现数据完整性,包括实体完整性约束,域完整性约束,引用完整性约束和自定义完整性约束。
实现实体完整性约束的方式不包括()。
A.索引B.唯一约束C.主键约束D.外键约束10.主键用来实现()。
A.实体完整性约束B.引用完整性约束C.域完整性约束D.自定义完整性约束11.电话号码应当采用()格式的数据类型来存储。
大数据技术导论(北京理工大学)解忧书店 JieYouBookshop2引论1.【单选题】科学研究第四范式数据思维采用()。
A科学归纳B模型推演C仿真模拟D关联分析正确答案:D 我的答案:A2.【单选题】大数据是一个什么领域的问题()。
A计算机领域B数学统计领域C业务领域D多学科综合领域正确答案:D 我的答案:B3.【多选题】大数据处理框架之流计算框架()。
A hadoopB Spark streamingC FlinkD STORM正确答案: B C D 我的答案: A4.【多选题】大数据处理框架之批处理框架()。
A hadoopB SparkC FlinkD jvm5.【多选题】大数据的优势包括()。
A数据体量大B收集时间短C数据类型丰富D价值密度高正确答案: A B C 我的答案: B3大数据感知与获取1.【单选题】下面科学研究的四个范式顺序正确的是()。
A经验范式-理论范式-模拟范式-数据密集型范式B理论范式-模拟范式-经验范式-数据密集型范式C理论范式-模拟范式-数据密集型范式-经验范式D理论范式-经验范式-数据密集型范式-模拟范式正确答案:A 我的答案:C2.【多选题】常见的分布式网络爬虫架构有()。
A Master-workerB Master-slaveC peer-peerD Mixed正确答案: B C D 我的答案: C3.【单选题】A M1-M2-M3-S4-M5-M6-M8-S7B M1-M2-M5- M8- M6-M3-S7-S4C M1-M2-M3-S4-M5-M6- S7 - M8D M1-M2-M5- M8- M6-M3- S4 - S74.【单选题】以数据考察为基础,联合理论、实验和模拟一体的数据密集计算的范式是以下哪个范式()。
A经验范式B理论范式C模拟范式D数据密集型范式正确答案:D 我的答案:C5.【单选题】在大数据生命周期的各个阶段中,工作最多的是哪个阶段()。
第4章实现数据完整性本章概述保证数据库中的数据遵循范式的同时不会在数据的添加删除和修改等操作中产生矛盾或者缺失,是数据库程序员的一项重要任务。
本章介绍了数据完整性的概念,包括可用于强制数据完整性的方法。
本章重点介绍了确保数据完整性的主要方法——约束,并介绍了各种约束类型。
本章还详细讨论了如何创建和实现约束以及在必要时禁用约束的方法。
同时,本章还讨论了默认值和规则,并概括了几种不同方法的比较。
学习完本章后,学生能够理解数据完整性的重要性,并可以通过各种手段保证企业数据完整。
教学目标●了解数据完整性类型●掌握强制数据完整性的方法●掌握如何确定使用哪种约束并创建该约束●了解定义和使用DEFAULT、CHECK、PRIMARY KEY、UNIQUE和FOREIGN KEY约束●掌握禁用约束检查●了解及使用默认值和规则●掌握确定使用哪种方法保证数据完整性教学重点●数据完整性的概念,考试中也经常出现概念题。
●约束的类型,以及何时使用何种约束的原则。
●创建和使用约束。
教学难点●数据完整性概念,如何同企业场景结合起来。
●不同约束类型的比较。
●何时使用哪种保证数据完整性的强制方法。
数据库程序设计—SQL Server 2000 数据库程序设计教师参考手册教学资源2第4章实现数据完整性先修知识在正式开始学习本章内容以前,学生须具备下列知识基础。
建议学时课堂教学(4课时)+实验教学(3课时)教学过程4.1数据完整性的类型教学提示:本节主要达到一个目的。
●掌握数据完整性的3种类型:域完整性、实体完整性和引用完整性。
保证了数据完整性,才能使企业数据库在应用中更加健壮。
(略讲)3数据库程序设计—SQL Server 2000 数据库程序设计教师参考手册4.2强制数据完整性教学提示:本节主要达到一个目的。
●了解保证数据完整性的两种途径:通过声明和通过代码。
这两种方法企业中被广泛应用。
(略讲)4第4章实现数据完整性4.3定义约束教学提示:本节主要达到三个目的。
●了解各种约束在不同场合的作用,如何根据企业场景选择约束。
(略讲)●掌握创建约束的方法。
(精讲+演示)●了解使用约束的注意事项。
(略讲)5数据库程序设计—SQL Server 2000 数据库程序设计教师参考手册4.4约束的类型教学提示:本节主要达到两个目的。
●掌握约束的类型,定义约束的语法。
(精讲+演示)●掌握各种约束的区别和应用场景。
(精讲)6第4章实现数据完整性7数据库程序设计—SQL Server 2000 数据库程序设计教师参考手册8第4章实现数据完整性9数据库程序设计—SQL Server 2000 数据库程序设计教师参考手册10114.5禁用约束4.6使用默认值和规则124.7决定使用何种强制方法4.8推荐操作总结经过本章的学习,我们了解了下列的知识和内容。
●数据完整性类型●强制数据完整性的方法●如何确定使用哪种约束并创建该约束●定义和使用DEFAULT、CHECK、PRIMARY KEY、UNIQUE和FOREIGN KEY约束●禁用约束检查●使用默认值和规则●确定使用哪种方法保证数据完整性13在前面四章的学习中,我们已经大量用到了SQL语句对数据库对象进行操作。
下面一章中,我们将详细学习Transact-SQL语言。
随堂练习1.在一个SQL Server 2000中创建一个医院管理系统中的护士(Nurses)和病人(Patients)两个数据表,一个护士可以照看多个病人,而一个病人必须由两个护士共同负责。
在下列四个选项中SQL语句选出正确的选项。
A.CREATE TABLE Nurses{NursesID int NOT NULL PK_Nurses PRIMARY KEY CLUSTERED,Name varchar(20) NOT NULL,}GOCREATE TABLE Patients{PatientsID int NOT NULL PK_Nurses PRIMARY KEY CLUSTERED,Name varchar(20) NOT NULL,NurseID1 int NOT NULL,NurseID2 int NOT NULL}B.CREATE TABLE Nurses{NursesID int NOT NULL PK_Nurses PRIMARY KEY CLUSTERED,Name varchar(20) NOT NULL,}GOCREATE TABLE Patients{PatientsID int NOT NULL PK_Nurses PRIMARY KEY CLUSTERED,Name varchar(20) NOT NULL,14NurseID1 int NOT NULL FOREIGN KEY(NuresesID) reference Nureses,NurseID2 int NOT NULL FOREIGN KEY(NuresesID) reference Nureses }C.CREATE TABLE Nurses{NursesID int NOT NULL PK_Nurses PRIMARY KEY CLUSTERED,Name varchar(20) NOT NULL,}GOCREATE TABLE Patients{PatientsID int NOT NULL PK_Nurses PRIMARY KEY CLUSTERED,Name varchar(20) NOT NULL,NurseID1 int NOT NULL FOREIGN KEY(NuresesID) reference Nureses,NurseID2 int NOT NULL FOREIGN KEY(NuresesID) reference Nureses }GOCREATE TABLE PatientsNurses{PatientNurseID int NOT NULL CONSTRAINT PK_PatientsNurses PRIMARY KEY CLUSTED,NursesID int NOT NULL,PatientID int NOT NULL}D.CREATE TABLE Nurses{NursesID int NOT NULL PK_Nurses PRIMARY KEY CLUSTERED,Name varchar(20) NOT NULL,}15GOCREATE TABLE Patients{PatientsID int NOT NULL PK_Nurses PRIMARY KEY CLUSTERED,Name varchar(20) NOT NULL,}GOCREATE TABLE PatientsNurses{PatientID int NOT NULL REFERENCES Patients(PatientID),NurseID int NOT NULL REFERENCES Nurses(NursesID),CONSTRAINT PK_PatientsNurses PRIMARY KEY(PatientID,NurseID) }正确答案:(D)2.下图为某订购系统中的数据字典结构:请问应当使用何种方式将数据冗余减到最低?A.删除OrderDetails中的CustomerID列16B.使用OrderID和ProductID作为联合主键C.在OrderID列使用索引D.在OrderID列上添加UNIQUE属性正确答案:(A)分析:高效的数据库设计要求规范化数据库。
通过检查数据字典设计,我们发现OrderDetails 中的CustomerID列设计不正确。
CustomerID列属于Customer表,Orders表引用CustomerID列作为外键约束。
将OrderDetails表中的CustomerID列删除可以规范化数据库设计,降低数据冗余和提高性能。
3.在一个网络招聘网站的数据库中有一张记录申请者职业技能的数据表。
表结构如下图所示:应当将标中的哪一列设为主键?A.CandidateIDB.CandidateID和DateLastUsedC.CandidateID和SkillIDD.CandidateID,SKillID和DateLastUsed正确答案:(C)分析:主键约束保证了输入的数据不能为空且保证数据的唯一性。
当主键包含多列时就允许其中的一列的数据内容重复,但是所有主键列的数据组合必须唯一。
在本题中,我们需要创建主键约束来区分不同申请者的不同职业技能。
就必须包含CandidateID和SkillID两列数据作为复合主键。
4.在医院的数据库管理系统中,记录有新生婴儿的信息,使用下面的脚本语句创建一个名为Infants数据库:CREATE TABLE[dbo].[Infants](17[InfantID] [int] NOT NULL,[DateofBirth] [datetime] NOT NULL,[WeightAtBirth] [decimal](5.2) NOT NULL,[MotherID] [int] NOT NULL,[FatherID] [int] NOT NULL) ON [PRIMARY]GOALTER TABLE [dbo].[Infants] WITH NOCHECK ADDCONSTRAINT [PK_Infants]PRIMARY KEY CLUSTERED([InfantID]) ON [PRIMARY]GO如果要确保MotherID和FatherID的正确性,要求将磁盘I/O最小化,应当采用何种方法?A.使用插入触发器检验数据B.使用CHECK约束C.使用外键约束,MotherID和FatherID参照身份证数据库中的IDD.创建规则绑定列MotherID和FatherID正确答案:(C)分析:从数据库的逻辑设计中我们可以看到InfantID列和MotherID与FatherID的关系是一对多的关系:每个婴儿有一对父母,而一对父母有一个或多个孩子。
一对多在SQL Server 等关系型数据库中使用外键约束来实现。
在MotherID和FatherID上建立外键约束可以保证输入数据的参考完整性。
5.在图书馆系统中的数据表Records记录会员借阅图书的信息,假设每个会员可以借阅多本图书,而一个会员不能借阅两本相同的图书。
如果要达到上述设计要求,下列哪种做法最为合理?A.将RecordID和会员ID和图书ID设为联合主键B.在RecordID和会员ID和图书ID列上添加UNIQUE约束18C.在RecordID和会员ID和图书ID列上使用CHECK约束保证D.在RecordID和会员ID和图书ID列上创建索引正确答案:(B)分析:UNIQUE约束保证了一系列列数据的唯一性并保证输入某列的数据不能重复,而这些列不是主键的一部分。