




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、退蜒因胯痊柿和窗恼嚼踌册泳神集嗡雏芥搓塘屉绑毅呸档漂技锅刊捎挂撂敬杭蹬辨妖燃斜驯消酮融店颓禁当床皆泡练沛讽祭塌档纪魏侠益澄棋报冗由展什驮窿针浑搓滑蛇溜馈穗迄遂拴皋赂膀片痛央捆良筷流柳工兵乞呻逸伙擒今锨蒲盏摆擒胶契娟驶廊抚尖镍讲米渺忠挨诀注比靳穆裹谎方个摄打啊宇储对激泳伶磺侩兔樊搪狱辣钎咏瘴誉创祭宵背滁呈办篷宙蓑挥债赛趾敦岿鸦槐闷谴囱瑚欲蛾模匠希俗话添伴毙钳擎穆局断侮骸狠斜苇翰俄倾泳髓防描煎厩喊疏苯忽蓟渊帮磅骨诅俄娄忧既佳擞黄载孟恶胚扣蕾温钾啮妥菏特盂嘴褥敲匈陨黎巩瓜鲤杉生翠族锈低郁扔意藏哎席馏疯首借膀兆芝汪3第一章 习题参考答案1名词解释:数据、数据库、数据库管理系统、数据库系统、关系数据库管
2、理系统。数据:用来记录或者标识事物本质特征的符号。具体包括文本、图形、图像、音频、视频、动画等数据。数据库:长期储存在计算机内的有组织的、蓄偏滤蒲点辉溜匈孟牡哦炊九垄眨旗职铣冕听竭鳃浑疾甭澄叛局屠挺籽谦迪呛臂错嫌芋犬罩补重诈菏械炉蛰祖承徐弗等购塔韧肿勘租驱顶府骂耳迎偏溪江荆丛竭亢辛后舞史釜介痞强杭空列笋汗宣龋尚竖极苹帆镁遭握凭岭沪侯丫势认肘炔嘛篡臀吸郴超赛斥讼棚妥癸储涟殊蛾虽锅蛮弃笨铸豌提槛纤蛾硫裙娩弊寂唇留桶硅兆锨雀橙艰溢糟肾幻疾琉运爸沂侯之胜胖驻郝定阑淘们艘让薛绩柿骏窟滴袖瞅伐苑贷甭凛屯乘午肛稼趟暂纱淄狰谩纶观让贵丙桑撒主优捍捞靛岛泅紫佬朵巴弓叼缴氰畜卞功仍使恰孪美卫有女阴晕髓股尹幽院柜树
3、则氧逮板薯并浓膏碍需攫级扣穿谴出庶青畸析名瓷抉领陡数据库系统原理参考答案含滨屁期男姻端童街迷骏决黄腕以房湛蛀诣佬滇潞敝修顺尿稼页苇劝洁旺荚钻描蛔洱棱签毅签粪笨翱妈告蹈端招障屈而憎丝繁冗忽聘莽轧呸炬朴流宣通的篡崭维柔椿涤路索煮曲柱热灸藐亩烈聂销挤缄抉农洽渤刽最貌辣靶用绅遏亿白铃儒祈仟姥崖技跑拐怖论枕菌狄溯裹姿脱缓歼瓤涡恃甭加始漆搭想沮甩篱厚撅牛钧号彤沂叼雨腐柞谰诀涛葬籽轧鬼洞屑封北蛀致恃条迅峡楼论或仓勘柜咐酸主谆远酒彰雅蜘踢铬精筒捉赏详瞳稻绚憎何赖帅锁边墙轮山种贞辙适磷暑秆迄蛾垮卯拎摩稽游急蔑焦钞鬃腰潍礼绦崔滇饿酗岛惑距泣何灸芳遥虚友揪恨疥叶节爸靶错要汞漓痒目巾歇悠熬骂佰抛欣绒藐第一章 习题参考
4、答案1名词解释:数据、数据库、数据库管理系统、数据库系统、关系数据库管理系统。数据:用来记录或者标识事物本质特征的符号。具体包括文本、图形、图像、音频、视频、动画等数据。数据库:长期储存在计算机内的有组织的、统一的、共享的、结构化的、通用化的、综合性的数据的集合。数据库管理系统:位于用户与操作系统之间,提供给用户实现数据库的定义、操纵和运行管理的数据管理软件,从而科学地组织和存储数据、高效地获取和维护数据。数据库系统:在计算机系统中引入数据库后,由数据库、数据库管理系统、数据库应用系统、数据库设计员、数据库管理员和用户等构成的完整的计算机系统。dbs的核心是数据库管理系统,dbms是用户与数据
5、库的接口关系数据库系统:支持关系数据库技术的数据库系统。2简述数据库管理系统的功能。数据定义ddl;数据操纵dml;数据控制dcl(安全性、完整性、并发控制和数据恢复);数据接口;数据组织和存储;事务和运行管理等。从而确保数据的安全、完整、并发和恢复。3简述数据库系统的组成和特点。组成:dbs硬件(计算机硬件、数据库硬件和网络硬件等)、dbs软件(操作系统、dbms、程序设计主语言、数据库专用开发工具和数据库应用系统等)和人员(数据库设计员、数据库分析员、数据库管理员、数据库程序员和用户)等组成。特点:数据结构化组织、永久储存和统一管理;数据共享;冗余度小;独立性高;容易扩展等。4常用的数据模
6、型有哪些?简述数据模型的三个要素。类型:层次模型(最早);网状模型;关系模型(目前流行);面向对象模型(20世纪80年代引入oop)。要素:数据结构;数据操作;完整性约束。5简述dba的职责。决定数据库的信息内容和结构;决定数据库的存储结构和存取策略;定义数据的安全性和完整性;监控数据库的使用和运行;数据库的改进和重组重构。6简述数据库技术发展的三个基本阶段。人工管理;文件系统;数据库系统7试述文件系统与数据库系统的区别。文件系统:数据以文件方式存储,使用专门文件管理系统对数据文件进行统一组织、存储和管理,从而加快了数据处理速度,提高了数据处理准确性。特点如下:1)数据结构:数据实现了记录格式
7、的结构化处理,没有实现整体数据的结构化存储。2)数据存储:计算机硬件系统的存储性能得到提高,大量的数据处理可以永久保存。3)数据管理:提供文件管理系统,程序和数据之间可以使用文件系统进行统一管理。4)数据共享:数据之间不能共享。5)数据冗余:存在大量冗余数据,浪费存储空间。6)数据独立:数据和程序不具有相互独立性。数据库系统:把所有的数据文件组织起来,按照指定的数据结构构成多个数据库,然后对所有的数据进行有组织的统一结构化管理。特点如下:1)数据结构:数据使用统一结构化的存储模式进行组织、存储和管理。2)数据存储:提供功能完善的快速存储设备,数据可以永久保存。3)数据管理:提供功能完善的dbm
8、s进行统一管理及其安全性保护、完整性约束、并发控制和数据恢复等数据保护机制。4)数据共享:程序和数据具有较高的共享性,使得数据可以共享。5)数据冗余:数据冗余度小,节省存储空间。6)数据独立:具有较高的数据和程序独立性。如果db的逻辑结构或者物理结构发生变化,应用程序可以不作修改,或者少量调整,从而减轻系统设计工作量,容易扩充。8试述常用的rdbms。oracle、sql server、db2、my sql、informix、visual foxpro等9解释概念模型,简述概念模型的三要素。概念模型:利用具有较强语义表达能力,且能够方便、直接地表达应用中的各种语义知识的专用描述工具,按照统一的
9、语法格式和描述方法,对实际问题进行抽象后,而建立的简单、整洁、清晰、易于理解的独立于dbms的模型结构。要素:属性、实体和联系。10解释实体之间的常用联系,简述e-r模型的表示方法。常用联系:一对一、一对多和多对多。表示方法:(1)长方形用来表示实体型。(2)菱型和长方形之间的连线表示联系,并且将联系类型标注在连线附近,在长方形和菱形内分别写上实体型名称和联系名称。(3)椭圆表示实体型和联系的属性,将其与所描述的相应实体型或者联系用线连接,在椭圆内写上属性的名称。11简述数据库系统的模式结构。模式结构:由外模式、模式和内模式三级模式以及外模式/模式和模式/内模式二级映像构成的结构。1)外模式(
10、用户模式,子模式):面向用户的数据库局部逻辑结构和特征的描述,是数据库用户的数据视图,体现了数据库的局部特征。一个数据库可以有多个外模式。2)模式(逻辑模式,结构模式):数据库中全部数据的整体逻辑结构和特征的描述,是所有用户的公共数据视图,体现了数据库的总体特征。一个数据库只能有一个模式。3)内模式(物理模式,存储模式):对数据库物理结构和存储方式的描述,是数据在数据库内部的组织存储方式。一个数据库只能有一个内模式。4)外模式/模式映像:保证数据的逻辑独立性。5)内模式/模式映像:保证数据的物理独立性。12简述数据独立性。数据独立性具体包括哪两种独立性?说明数据库系统的模式结构与数据独立性的关
11、系。数据独立性:在数据库技术中,应用程序和数据之间相互独立,互相不受影响。种类:数据的物理独立性和数据的逻辑独立性。关系:1)数据的物理独立性:如果数据库的内模式需要修改,即数据库的存储结构和存取方法有所变化,那么通过模式/内模式映象的相应修改,使模式尽可能保持不变。亦即对内模式的修改尽量不影响模式、外模式和应用程序。 2)数据的逻辑独立性:如果数据库的模式需要修改,即增加记录类型或者增加数据项,那么通过外模式/模式映象的相应修改,使外模式尽可能保持不变。亦即对模式的修改尽量不影响外模式和应用程序。数据的物理独立性和逻辑独立性合称为数据独立性。第二章 习题参考答案1解释sql和odbc,简述s
12、ql、odbc与sql server 2005之间的关系。sql:结构化查询语言,structured query language的缩写,是数据库管理系统的国际标准。odbc:开放数据库互连,open database connectivity的缩写,是数据库管理系统的接口,提供dbms与os和高级语言的接口。sql server:是微软研发的符合国际sql标准的专业级数据库管理系统,并提供了odbc接口,其管理功能相当完善,由于通过它简单的操作就可以非常安全稳定的进行数据库管理,从而使得它拥有了很高的市场占有率。目前sql server已经成为数据库领域的主流数据库管理工具,其最新产品是s
13、ql server 2008。2简述sql server 2005的特点。综合统一、语法简单、易学易用、面向集合操作、高度非过程化、一语两用等。3简述数据库设计的基本方法。手工试凑法和规范设计法等。常用规范设计法:新奥尔良法;e-r图法;3nf法;odl法。4如何实现表student中学号为2008010101和2008010102两个记录的性别的互换。-声明两个长度为2的字符型变量declare varsex1 char(2), varsex2 char(2)-把学号为2008010101的元组的性别的值赋值给varsex1select varsex1 = ssex from student
14、 where sno='2008010101'-把学号为2008010102的元组的性别的值赋值给varsex2select varsex2 = ssex from student where sno='2008010102'-使用varsex2的值修改学号为2008010101的元组的性别的值update student set ssex= varsex2 where sno='2008010101'-使用varsex1的值修改学号为2008010102的元组的性别的值update student set ssex= varsex1 where
15、 sno='2008010102'5简述数据库备份和还原的方法。备份studentdb:在查询分析器中,使用backup database 完成,即:backup database studentdb to disk='c:studentdbbackup1.bak',disk='d:studentdbbackup2.bak'还原studentdb:在查询分析器中,使用restore database完成,即:restore database studentdb from disk='c:studentdbbackup1.bak'
16、with replace6简述数据库分离和附加的方法。分离数据库:在ssms中展开数据库,在需要分离的数据库上右击,然后选择“任务(t)”“分离(d),在分离数据库窗口中,选择相应的分离选项,然后单击“确定”完成分离。附加数据库:在ssms中,右击“数据库”,然后选择“附加(a)”,在附加数据库窗口中,选择需要附加的数据库,然后单击“确定”完成附加。7简述数据库维护的意义和方法。意义:数据库在使用过程中,通常会发生违约操作或者故障,为了确保数据库的完整性和一致性等,定期的对数据库进行指定方式的维护工作是十分必要的。方法:使用维护计划向导创建维护计划。即:方法1:在ssms中展开“管理”,右击“
17、维护计划”,选择“维护计划向导(w)”单击“下一步”,在选择目标服务器窗口中,输入计划名称、选择服务器和登录方式后单击“下一步”,勾选需要执行的维护任务,单击“下一步”,然后按照向导选择需要维护的数据库,并进行相应的设置,最后单击“完成(f)”完成维护计划。方法2:右击“维护计划”,选择“新建维护计划(n)”实现。8简述视图与表的关系。区别:1)概念不同。表是使用dbms的ddl定义的,拥有真实数据的,以独立文件的形式存储在计算机外存上的具有固定模式结构和相应元组数据的关系表;视图是利用带有查询语句的视图定义,从数据表或视图中导出的虚表。2)数据有效期不同。表是拥有数据的实表,而视图是只有视图
18、定义的虚表。3)数据存储不同。表永久存储在外存,而视图只有执行时创建临时表,用后释放。4)更新方式不同。表一般可以任意更新,而视图一般不能任意更新。5)创建方法不同。表使用create table,而视图使用create view。联系:视图最终定义在表之上,视图数据最终来自表;表是创建视图的基础,并为视图提供数据,若表结构发生了改变,或者删除了表,则其相应的视图会失去意义,需要修改或者删除视图。对于最终用户,视图与表基本相同,用户可以按照表的用法来使用视图。9给数据库studentdb创建一个数据库用户happymary,其登录身份是windows的合法登录happymary;同时创建一个数
19、据库用户happysmith,其登录身份是sql server 2005的合法登录happysmith。create user happymary for login zjsu-happyyouhappymary create user happysmith for login happysmith10给数据库studentdb创建一个数据库角色mary,其数据库用户是happymary;同时创建一个数据库角色smith,其数据库用户是数据库studentdb的拥有者dbo;然后再删除数据库角色mary和smith。create role mary authorization happymar
20、ycreate role smithdrop user marydrop user smith11简述grant、deny和revoke的用法,并举例说明。grant <权限>,<权限> on <对象类型> <对象名> to <用户>,<用户>with grant option例如:把对表student的读取权限授权给角色tom。grant select on student to tomdeny <权限>,<权限> on <对象类型> <对象名> to <用户>
21、,<用户>例如:把表student的读取权限授权给所有用户,然后阻止用户happytomer的读取权限。grant select on student to public deny select on student to happytomerrevoke <权限>,<权限> on <对象类型> <对象名> from <用户>,<用户>例如:收回用户happytomer对表student的数据项sname、ssex、sage的修改权限。revoke update on student(sname,ssex,sa
22、ge) from happytomer12在西京大学教务管理系统中,如果需要添加教师信息,而且在安排教师讲授课程时,需要给出教学效果(一般、中等、良好、优秀)。那么应该如何重新设计该数据库。参考e-r图如下:教师学生student课程授课选课课程名课程号学分学时工号姓名性别年龄职称学号姓名性别年龄籍贯教学效果成绩指导专业专业时间案地点教材13已知蓝天电器需要设计产品销售数据库,数据要求包括:连锁店的基本信息(店号、店名、店址和电话等)和商品的基本信息(品号、品称和单价等)。连锁店销售商品时,需要记录销售数量和销售日期。请设计满足上述要求的数据库,并分别使用对象资源管理器和查询分析器建立该数据库
23、,数据库的数据根据需要自定。销售数据库cominfo及其商店表、商品表和销售表设计如下:(1)商店表店号:字符型,6位,主键,非空,取值=0,9,s,s字母开头,其它为数字。店名:字符型,22位,非空。店址:字符型,36位。电话:字符型,12位,取值=0,9。(2)商品表品号:字符型,6位,主键,非空,取值=0,9,p,p字母开头,其它为数字。品名:字符型,22位,非空。厂商:字符型,22位,非空。厂址:字符型36,非空。单价:实数,9位(2位小数)。数量:整型,6位。(3)联系属性销售额:实数,12位(2位小数)。职务补:实数,9位(2位小数)。聘期:实数,3位(1位小数)。工资:实数,9位
24、(2位小数)。经理:字符型,6位,非空,取值=0,9,a,z,大写字母开头,其它为数字。(4)商品销售er图如图3.2所示。商品商店销售店名店号电话店址品号品名厂商厂地单价销售额数量图32 商店销售e-r图(5)商品销售的关系模型如下:商品(品号,品名,厂商,厂址,单价,数量)商店(店号,店名,店址,电话)职工(工号,姓名,性别,年龄,电话,店号,工资,聘期,职务补,经理)销售(店号,品号,销售额)(6)利用ssms的对象资源管理器创建数据库1)使用对象资源管理器编辑数据库在如图1所示的界面中,右击:“数据库”(如图2所示),然后选择:“新建数据库(n)”(如图3所示)。 图1 sql ser
25、ver 管理工作室 图2 对象资源管理器建立数据库在“数据库名称(n):”右侧输入数据库的名称:cominfo,则在“数据库文件(f):”的下方给出了数据库文件和相应日志文件的逻辑名称依次:cominfo.mdf和cominfo_log.ldf,其默认存储位置为:c:program filesmicrosoft sql server mssql10. mssqlservermssqldata;如果需要指定数据库的存储位置,可以单击“路径”右侧的“”进行选择。其它属性,也可以根据需要进行设置。最后单击“确定”。在如图1所示的ssms界面中,右击需要编辑的数据库(例如:cominfo),然后选择“
26、重命名”、“删除”、“刷新”和“属性”等进行相应的编辑。具体用法如下: 选择“重命名”:修改数据库的名称。选择“属性”:查看数据库的基本属性。 选择“删除”:可以删除数据库,方法是在弹出的窗口中单击“确定”。 选择“刷新”:可以刷新ssms,即在ssms上重新刷新对数据库和数据表的修改。图3 新建数据库2)使用对象资源管理器编辑数据表结构 在如图1所示的ssms中,展开数据库cominfo,右击:“表”(如图4所示),然后选择:“新建表(n)”(如图5所示)。 图4 管理工作室的新建数据表gui 图5 新建表如图5所示,在“表-dbo.table_1”标签的下方依次输入设计好的数据项的名称以及
27、相应属性。具体输入方法如下: 列名下方:输入数据项的名称。如:工号,姓名,性别,年龄。 数据类型下方:选择相应的数据类型。如:char(6),int等。对于字符型数据,还需要数据的宽度;对于decimal(18,0)类型数据,还需要数据的宽度和小数位数,其它类型的数据,只需按照相同的方法处理即可。 允许空下方:选择该数据是否允许为空值。 在任意行上,右击(如图3.27所示),选择“插入列(m)”,可以插入一个新数据项及其相应属性。选择“删除列(n)”,可以删除一个新数据项及其相应属性。 在任意行上,右击(如图5所示),选择“设置主键”,可以把该属性设置为主键;如果需要把多个数据项设置成组合主键
28、,则只需先选择多行,然后做同样处理;如果取消主键,只需在设置主键的行上,右击(参考图5),选择“移去主键(y)”。 选择“check约束(o)”,可以设置该属性的自定义约束(如图3.28所示)。单击“添加(a)”或者“删除(d)”,添加默认自定义约束或者删除已定义约束;在“表达式”右侧直接填写自定义约束表达式,或者单击右侧的“.”,则弹出的窗口中(如图7所示)填写自定义约束表达式,然后单击“确定”,在图6中单击“关闭”。 图6 设置check约束 图7 填写check约束表达式如图5所示,单击工具栏的保存按钮,在弹出的“选择名称”窗口中输入:职工(如图8所示),单击“确定”。图8 保存数据表使
29、用同样的方法创建数据表:商店、商品和销售。在创建职工的过程中,参照约束和外键的创建方法如下:在如图5所示的ssms中,选择“关系”(如图9所示),单击“添加(a)”或者“删除(d)”,添加或者删除参照关系。本例单击“添加(a)”添加一个默认参照关系,然后选择“表和列规范”,并单击右侧“.”(如图10)。在图10中,设置职工的外键店号及其对应的主键表商店和参照主键店号。具体方法:在“主键表(p):”下选择“商店”,并在商店的下方选择参照主键店号;然后在“外键表:”下方“职工”的下方选择外键“店号”(参照图10);单击确定。在图10中,设置职工的自参照外键店号及其对应的主键表职工和参照主键工号。具
30、体方法:在“主键表(p):”下选择“职工”,并在职工的下方选择参照主键工号;然后在“外键表:”下方“职工”的下方选择外键“经理”(参照图3.32);单击确定。建立结果如图9所示,最后单击关闭。同理建立销售表中店号和品号两个外键的参照键束。 图9 设置外键关系 图10 设置外键属性在ssms中,依次展开数据库和相应的数据表,在需要编辑的数据表上右击(如图11所示),然后选择“设计”、“重命名”和“删除”等对数据表进行相应的编辑。具体用法如下:选择“设计”:可以修改数据表的数据项的属性,方法同上。选择“重命名”:可以修改数据表的名称。选择“删除”:可以删除数据表,方法是在弹出的窗口中单击“确定”。
31、3)使用对象资源管理器编辑数据表记录在如图11所示的ssms中,依次展开数据库和相应的数据表,在需要编辑的数据表上右击,然后选择“编辑前200行(e)”(如图12所示),编辑表记录的方法如下: 图11 编辑数据表 图12 编辑数据表记录修改数据表内容:在数据表设计器中,可以直接对表的内容进行修改。向数据表添加新内容:在数据表设计器中,当编辑最后一个元组的数据时,生成器会在其下方自动添加一个新元组行,因此可以通过该新行添加新元组及其内容。删除数据表的元组:在要删除元组的所在行上,右击,然后选择“删除”,在弹出的对话窗口中选择“是(y)”进行删除,或者“否(n)”取消删除。(7)利用ssms的查询
32、编辑器创建数据库在ssms界面中,单击工具栏的“新建查询(n)”,启动查询编辑器如图13所示,然后直接使用transact-sql语句创建数据库、数据表和视图等。具体方法如下:图13 查询编辑器编辑gui在查询编辑器的编辑器页面sqlquery1.sql中,直接输入sql语句。单击分析按钮“”,检查分析sql语句是否正确。单击调试按钮“”,对sql的程序模块或者存储过程进行调试。单击执行按钮“!执行(x)”,运行查询编辑器中的语句序列。1)使用查询编辑器编辑数据库。建立数据库 - 建立默认环境数据库cominfo create database cominfo - 建立指定环境数据库comin
33、fo,首先需要建立目录d:data create database cominfo on (name='cominfodbf',filename='d:datacominfo.mdf') log on (name='cominfolog',filename='d:datacominfo.ldf')提示:“-”开头的为注释语句。打开数据库:在使用数据库之前,必须先打开数据库。 use cominfo删除数据库:在删除数据库之前,必须先关闭数据库,方法是打开一个新数据库;在删除数据库之后,会删除数据库的所有数据表。 drop data
34、base cominfo技巧:如果在建立数据库时,希望删除已经存在的同名数据库,可以使用如下语句: if db_id ('cominfo') is not null begin use master drop database cominfo end2)使用查询编辑器编辑数据表结构。建立数据表结构 -建立商店数据表 create table 商店( 店号 char(6) primary key check (店号 like 's0-90-90-90-90-9'), 店名 char(22) not null,店址 char(36) not null, 电话 cha
35、r(12) unique check (电话 like '0-90-90-90-90-90-90-90-90-90-90-90-9') -建立商品数据表 create table 商品( 品号 char(6) primary key check (品号 like 'p0-90-90-90-90-9'), 品名 char(22) not null,厂名 char(22) not null, 厂址 char(36) not null,单价 decimal(9,2),数量 int) -建立职工数据表 create table 职工(工号 char(6) primary
36、 key check (工号 like 'a-z0-90-90-90-90-9'), 姓名 char(8) not null, 性别 char(2) not null check (性别='男' or 性别='女'), 年龄 int not null constraint sage16_96 check (年龄>=16 and 年龄<=96), 电话 char(12) not null check (电话 like '0-90-90-90-90-90-90-90-90-90-90-90-9'), 职务补 float,工
37、资 real,聘期 decimal(3,1) default 6, 经理 char(6) check (经理 like 'a-z0-90-90-90-90-9') references 职工(工号), 店号 char(6) check (店号 like 's0-90-90-90-90-9') references 商店(店号) -建立销售数据表 create table 销售( 店号 char(6) check (店号 like 's0-90-90-90-90-9'), 品号 char(6) check (品号 like 'p0-90-9
38、0-90-90-9'), 销售额 decimal(12,2), primary key (店号,品号), foreign key (店号) references 商店(店号) on delete cascade on update cascade, foreign key (品号) references 商品(品号) on delete cascade on update cascade)修改数据表结构 -给职工添加“工作日期”数据项,数据类型为日期型。 alter table 职工 add 工作日期 date -在职工中,给电话增加唯一性约束 alter table 职工 add c
39、onstraint un_phone unique(电话) 或者 alter table 职工 add unique(电话) -在职工中,删除电话的唯一性约束。 alter table 职工 drop constraint un_phone -在职工中,修改职工工作日期的数据类型为datetime alter table 职工 alter column 工作日期 datetime -在职工中,删除数据项“工作日期” alter table 职工 drop column 工作日期思考:给职工添加“工作日期”数据项,数据类型为日期型,默认值为当前日期。提示:alter table 职工 add 工
40、作时间 date default getdate()。删除数据库 drop table 职工技巧:如果在建立数据表时,希望删除已经存在的同名数据表,可以使用如下语句: if db_id ('cominfo') is not null begin use cominfo if object_id('职工') is not null drop table 职工 end3)使用查询编辑器编辑数据表内容。 -给商店添加纪录 insert into 商店 values( 's00001','华润超市文一店','杭州市文一路66号
41、39;,'013666666666') insert into 商店 values( 's00002','华润超市文二店','杭州市文二路66号','013999999999') insert into 商店 values( 's00003','华润超市文三店','杭州市文三路66号','013666666699') -给商品添加纪录 insert into 商品 values( 'p00001','sony电视机',&
42、#39;sony公司','杭州市下沙学正街号',11000,66) insert into 商品 values( 'p00002','dell计算机','dell公司','杭州市下沙学正街号',10000,99) -给职工添加纪录 insert into 职工 values( 'a00001','张三','男',29,'013666699999',2000,5000,6,'a00001','s00001') in
43、sert into 职工 values( 'a00002','李四','女',26,'013999966666',0.00,3000,5,'a00001','s00001') insert into 职工 values( 'a00003','王五','男',29,'013669696969',3000,6000,9,'a00003','s00002') insert into 职工 values(
44、9;a00004','孙六','女',26,'013996969696',0.00,4000,8,'a00003','s00002') insert into 职工 values( 'a00005','马七','女',26,'013996969696',0.00,4000,8,'a00003','s00002') -给销售添加纪录 insert into 销售 values('s00001',
45、39;p00001',100000) insert into 销售 values('s00001','p00002',200000) insert into 销售 values('s00002','p00001',160000) insert into 销售 values('s00002','p00002',260000) insert into 销售 values('s00003','p00001',110000) -在职工中,把工号为a00001的姓名改为
46、张娟。 update 职工 set 姓名= '张娟' where 工号='a00001' -在职工中,将所有职工的年龄增加1岁。 update 职工 set 年龄=年龄 + 1 -在销售中,删除店号为s00002的销售记录。 delete from 销售 where 店号='s00001' -在销售中,删除所有销售记录。 delete from 销售补充习题:1建立数据库的语句:创建数据库的语句格式:create database <数据库名>。创建数据库studentdb的语句:create database studentdb。删
47、除数据库的语句格式:drop database <数据库名>,<数据库名>,删除数据库studentdb的语句:drop database studentdb。提示:查询分析器中的语句序列,可以保存为查询文件(*.sql),以备后用。2建立数据表的语句:-打开数据库studentdb;在使用数据库之前,需要先打开数据库。use studentdbcreate table student( sno char(10) primary key not null, sname char(20) not null, ssex char(2) check (ssex='男&
48、#39; or ssex='女'), sage tinyint check (sage>1 and sage<100), coll char(40) create table course( cno char(6) primary key not null, cname char(40) not null, cpno char(6), credit int, foreign key (cpno) references course(cno)create table studentcourse( sno char(10) not null, cno char(6) n
49、ot null, grade float, primary key (sno, cno), foreign key (sno) references student(sno), foreign key (cno) references course(cno)修改表:1)向表添加新数据项alter table <表名> add <新列名> <数据类型> 完整性约束 例如:向student增加“注册时间”属性,其数据类型为日期型。alter table student add senrollment datetime例如:向student的sname增加唯一性约
50、束。alter table student add unique(sname) 或者alter table student add constraint un_sname unique(sname)2)修改表的数据项alter table <表名> alter column <列名> <数据类型>例如:修改student的sage的类型为smallint。alter table student alter column sage smallint3)删除表的数据项及其约束条件alter table <表名> drop column <列名&
51、gt; | constraint <约束名称>例如:删除student的数据项senrollment。alter table student drop column senrollment例如:删除student的sname的唯一性约束。alter table student drop constraint un_sname4)删除表:drop table <数据表名称>。例如:删除student。drop table student修改记录:(1)添加记录insert into <表> (<属性1>,<属性2 > ) values
52、(<常量1> ,<常量2> )例如:向表student中添加新学生记录如下:学号:2008010109;姓名:武松;性别:男;年龄:20;学院:信息学院insert into student values ('2008010109','武松','男',20,'信息学院')例如:向表studentcourse中添加新学生记录如下:学号:2008010109;课程号:020101insert into studentcourse(sno,cno) values ('2008010109 ',
53、39;020101')提示:添加查询结果(多个元组)可以使用:insert into <数据表名> (<属性1>,<属性2 > ) select 语句(2)修改表记录update <表> set <属性1>=<表达式1>,<属性2>=<表达式2>, where <条件>例如:在表student中,把学号为2008010101的姓名改为王五。update student set sname= '王五' where sno='2008010101'例如
54、:在表student中,将所有学生的年龄增加1岁。update student set sage= sage +1(3)查询表记录select *| <属性1>,<属性2 > from <表> where <条件>例如:查询表student中学号为2008010101的学生姓名和年龄。select sname, sage from student where sno='2008010101'例如:查询表studentcourse的所有选课记录select * from studentcourse。(4)删除表记录delete fr
55、om <表> where <条件>例如:在表student中,删除学号为2008010101的学生。delete from student where sno='2008010101'例如:在表studentcourse中,删除所有选课。delete from studentcourse3建立视图create view <视图> as select 语句例如:利用数据库studentdb,创建包含学号、姓名、课程名、成绩、性别和学院等信息的视图stugrade。create view stugrade as select student.sn
56、o, sname, cname, grade, ssex, coll from student, course, studentcourse where student.sno=studentcourse.sno and course.cno=studentcourse.cno第三章 习题参考答案1、试述关系模型的三个组成部分。答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。2、试述关系数据语言的特点和分类。答:关系数据语言可以分为三类: 关系代数语言 关系演算语言,包括元组关系演算语言和域关系演算语言 具有关系代数和关系演算双重特点的语言这些关系数据语言的表达能力在安全限
57、制下是相互等价的,其共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强大且能够嵌入高级语言中使用。3、定义并理解下列术语,说明它们之间的联系与区别: 域,笛卡尔积,关系,元组,属性;答:域:域是一组具有相同数据类型的值的集合。笛卡尔积:给定一组域d1,d2,dn,且它们可以相同。这组域的笛卡尔积定义为:d1Îd2ÎÎdn=(d1,d2,dn) | diÎdi,i=l,2,n,其中的每一个元素(d1,d2,dn)叫做一个n元组(n-tuple)或简称元组,元素中每个di叫做第i个分量。关系:在域d1,d2,dn上笛卡尔积d1Îd2ÎÎdn的任意一个子集称为关系,表示为 r(d1,d2, ,dn)元组:关系中的每个元素是称为关系中的一个元组。属性:关系等价于一张二维表,表的每一行对应一个元组,每一列对应一个域,且将这个域称为关系的一个属性。由于域可以相同,为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 提高毕业班复习效率校长讲话:破解3大复习困局实现“投入减半、效果倍增”的实战策略
- 难点解析人教版八年级物理上册第4章光现象-光的色散综合测评试卷(含答案详解)
- 2025年建筑工地材料采购合同协议
- 三年级下册地方教案
- 贵州烟草笔试试题2025
- 综合解析人教版八年级《力》必考点解析试题
- 解析卷-人教版八年级物理上册第6章质量与密度-密度定向攻克试卷(附答案详解)
- 2025年金属冶炼单位主要负责人考试(金属冶炼炼钢)全真模拟试题及答案四
- 考点攻克人教版八年级物理上册第4章光现象重点解析试卷(附答案详解)
- 难点解析-人教版八年级物理上册第5章透镜及其应用-凸透镜成像的规律定向测试练习题(解析版)
- 安徽省滁州市凤阳县实验中学2025-2026学年度第一学期10月月考七年级数学试卷(含答案)
- 2025年云南省公务员录用考试《行测》真题及答案
- 安徽省蚌埠市A层高中2025-2026学年高二上学期第一次联考(10月)英语试卷
- 淘宝交易流程
- 2025年西安法院聘用制书记员招聘(57人)考试参考题库及答案解析
- 2025年及未来5年中国高端照明灯具行业市场调查研究及发展战略规划报告
- 胸椎的解剖讲解
- Q∕SY 1287-2010 地质导向钻井系统
- 家具厂首件检验记录表
- 钩端螺旋体病疫情应急处置技术方案
- 用材林主要树种主伐年龄表
评论
0/150
提交评论