数据库原理与应用知识总结_第1页
数据库原理与应用知识总结_第2页
数据库原理与应用知识总结_第3页
数据库原理与应用知识总结_第4页
数据库原理与应用知识总结_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

关系范式:1.设有关系模式:学生修课管理(学号,姓名,所在系,性别,课程号,课程名,学分,成绩)。设一名学生可以选修多门课程号,一门课程号可以被多名学生选修;一名学生有唯一的所在系,每门课程号有唯-的课程名和学分。回答以下问题:(1)根据上述规定写出关系模式(2)找出关系模式R的候选码(3)试问关系模式R最高已经达到第几范式(4)将R分解成3NF模式集。答:(1)学号>(姓名,所在系,性别>(课程名,学分(学号,课程号)>成绩(学号,课程号)>(姓名,所在系,性别(2)候选码:学号,课程号(3)存在部分函数依赖,R达到第一范式(4)Student(学号,姓名,所在系,性别sc(学号,课程号,成绩Course(课程号,课程名,学分2.t-sql语句:(1)删除数据库(2)修改数据库R的基本函数依赖;;?为什么?)F课程号)FF)P)))dropdatabasealterdatabase(3)使用SOL语句创建读者信息表,并设置读书编号的主键,读者姓名取值唯一。Createtable读者信息表(读者编号varchar(13)primarykey,读者姓名varchar(10)unique,性别varchar(2)notnull,年龄int,证件号码varchar(30)notnull);(4)使用SOL语句创建图书信息表、图书馆借阅表。Createtable图书信息表(图书编号varchar(13)primarykey,称varchar(40)notnull,图书名作者varchar(21)notnull,译者varchar(30),出版社varchar(50)notnull,出版日期datenotnull,图书价格moneynotnull);Createtable图书借阅信息表(图书编号varchar(13),读书编号varchar(13),操作员编号varchar(13),借阅日期datetimenotnull,归还日期datetime,Primarykey(图书编号,读者编号,借阅日期))

数据查询:查询所有图书的书名和价格Select图书名称,图书价格From图书信息表;查询所有读者的读者编号和姓名Select读者编号,读者姓名From读者信息表;查询所有图书的信息:Select*From图书信息表查询全体读者的姓名及出生年份Select读者姓名,2018-年龄From读书信息表;查询借阅了图书的读者的读者编号:Select读者编号From图书借阅信息表;显示图书信息表中前5条记录Selecttop5*From图书信息表;查询年龄在30岁以下的读者的读者姓名及年龄。Select读者姓名,年龄From读者信息表Where年龄<30;查询清华大学出版社出版的图书信息Select*From图书信息表Where出版社=‘清华出版社’;查询年龄在20岁到29岁(包括20岁和29岁)的读者的姓名和年龄Select读者姓名,年龄From读者信息表Where年龄>=20and年龄<=29;查询清华大学出版社和Select图书编号,图书名称From图书信息表人民邮电出版社出版的图书的图书编号和图书名称。Where出版社=‘清华大学出版社’or出版社=‘人民邮电出版社’;查询清华大学出版社和Select图书编号,图书名称From图书信息表人民邮电出版社出版的图书的图书编号和图书名称Where出版社in(‘清华大学出版社’,‘人民邮电出版社’);查询既不是清华大学出版社,也不是人民邮电出版社出版的图书的图书编号和图书名称。Select图书编号,图书名称From图书信息表Where出版社notin(‘清华出版社’,‘人民邮电出版社’);

查找读者编号为20170001读者信息Select*From读者信息表Where读者编号like‘20170001’;查询所有姓张的读者的姓名和性别Select读者姓名,性别From读者信息表Where读者姓名like‘张%’;产讯图书名称含有“软件”的所有图书的编号、名称、出版社。Select图书编号,图书名称,出版社From图书信息表Where图书名称like‘%软件%’;查询读者全名为两个汉字的读者的信息Select*From读者信息表Where读者姓名like‘--’;查询读者姓名第二个字为小字的读者的信息。Select*From读者信息表Where读者姓名like‘-小%’;查询所有不姓张的读者的信息Select*From读者信息表Where读者姓名notlike‘张%’;查询图书信息表中,图书名字以“efgh”4个字母之一开头的图书名称Select图书名称From图书信息表Where图书名称like‘【efgh】%’;查询图书信息表中,图书名字不以“efgh”4个字母之一开头的图书名称Select图书名称From图书信息表Where图书名称like‘【^efgh】%’;查询年龄在20岁到29岁(包括20岁和29岁)的读者的姓名和年龄Select读者姓名,年龄From读者信息表Where年龄between20and29;查询年龄不在20岁到29岁(包括20岁和29岁)的读者Select读者的姓名和年龄姓名,年龄From读者信息表Where年龄notbetween20and29;

查询25岁以下读者的姓名和年龄,查询结果按年龄降序排列Select读者姓名,年龄From读者信息表Where年龄<25Orderby年龄desc;查询读者的最大年龄、最小年龄、平均年龄。Selectmax(年龄)最大年龄,min(年龄)最小年龄,avg(年龄)平均年龄From读者信息表;查询读者人数Selectcount(*)读者人数From读者信息表;统计类别编号为1的图书的价格总和Selectsum(图书价格)价格总和From图书信息表Where类别编号=‘1’;统计每类图书价格总和,并列出类型编号、图书价格总和。Select类别编号,sum(图书价格)图书价格总和From图书信息表Groupby类别编号查阅借阅图书数量多于一本的读者的读者编号Select读者编号From图书借阅信息表Groupby读者编号Havingcount(*)>1;查询与《Java程序设计》同一个出版社的图书的图书编号、图书名称、出版社。Select图书编号,图书名称,出版社From图书信息表Where出版社in(Select出版社From图书信息表Where图书名称=‘Java程序设计’);查询借阅了图书《软件测试》的读者的读者编号、读者姓名Select读者编号,读者姓名From读者信息表Where读者编号in(Select读者编号From图书借阅信息表Where图书编号in(Select图书编号From图书信息表Where图书名及其借书情况Select图书.*,读者信息表From图书借阅信息表join读者信息表on图书称=‘软件测试’));查询每位读者借阅信息表.*借阅信息表.读者编号=读者信息表.读者编号

查询已经外借的图书中读者张明已归还的图书信息Select图书借阅信息表From图书借阅信息表innerjoin读者信息表On图书借阅信息表.读者编号<>读者信息表.读者编号Where读者姓名=‘张明’;.*,读者信息表.*查询读者的借书情况,包括借了图书的读者和没有借图书的读者。Select图书借阅信息表.读者编号,图书编号,读者姓名,性别,年龄From读者信息表leftjoin图书借阅信息表On图书借阅情况.读者编号=读者信息表.读者编号;查询借了图书的读者信息Select图书借阅信息表.读者编号,图书编号,读者姓名,性别,年龄From图书借阅信息表leftjoin读者信息表On图书借阅信息表.读者编号=读者信息表.读者编号;20161818所借查询图书价格至少比读者某一本图书价格要搞得图书的图书编号Select图书编号From图书信息表Where图书价格>any(Select图书价格From图书信息表Where图书编号in(select图书编号From图书借阅信息表Where读者编号=‘20161818’))And图书编号notin(select图书编号From图书借阅信息表Where读者编号=‘20161818’);查询图书价格比读者20170001所借任意一本图书价格都要高的图书的图书编号Select图书编号From图书信息表Where图书价格>all(select图书价格From图书信息表Where图书编号in(select图书编号From图书借阅信息表Where读者编号=‘20170001’))And图书编号notin(select图书编号From图书借阅信息表Where读者编号=‘20170001’);查询借阅了9787111185260图书的读者的姓名Select读者姓名From读者信息表Whereexists(select*From图书借阅信息表Where读者编号=读者信息表.读者编号and图书编号=‘9787111185260’);

查询没有借阅9787111185260图书的读者的姓名Select读者姓名From读者信息表Wherenotexists(select*From图书借阅信息表Where读者编号+读者信息表.读者编号and图书编号=‘9787111185260’);、价格高于50元的图书的名称,图书价格From图书信息表查询人民邮电出版社出版的称和对应价格Select图书名Where出版社=‘人民邮电出版社’UnionSelect图书名称,图书价格From图书信息表Where图书价格>50;查询借阅了图书编号为9787111185260的图书而没有借阅图书编号为9787030481900的图书的读者的编号Select读者编号From图书借阅信息表Where图书编号=‘9787111185260’ExceptSelect读者编号From图书借阅信息表Where图书编号=‘9787030481900’;、价格高于50元的图书的名称和对应的价格。要求用交集表示称,图书价格查询人民邮电出版社出版的Select图书名From图书信息表Where出版社=‘人民邮电出版社’IntersectSelect图书名称,图书价格From图书信息表Where图书价格>50;插入数据:向读者信息表中插入一条新纪录Insertinto读者信息表Values(‘20171245’,‘赵敏’,‘女’,54,42332319........)

数据库设计数据库设计的特点1.三分技术,七分管理,十二分基础数据2.综合性3.结构设计和行为设计结合数据库设计的基本步骤1.需求分析阶段2.概念结构设计阶段3.逻辑结构设计阶段4.物理结构设计阶段5.数据库实施阶段6.数据库运行和维护阶段视图:在图书信息表上创建一个名为视图-图书的视图Createview视图-图书AsSelect图书名称,作者,出版社From图书信息表where类别编号=‘1’;在图书信息表和图书类别信息表上创建名为视图-图书类别的视图,列出图书编号和图书名称createview视图-图书类图书(图书编号,图书名称,类别名称)AsSelect图书编号,图书名称,类别名称From图书信息表join图书类别信息表On图书信息表.类别编号=图书类别信息表.类别编号定义一个查询读者姓名、出生年份的视图Createview读者Select读者姓名,2017-年龄From读者信息表-出生年份(读者姓名,出生年份)定义一个视图,统计每种类型的图书的数量Createview视图-数量(类别编号,数量)AsSelect类别编号,count(图书编号)From图书信息表Croupby类别编号使用alter语句修改视图-图书的语句Alterview视图-图书AsSelect图书名称,作者From图书信息表where类别编号=‘1’通过视图向基本表中插入一条新纪录Createview视图-图书信息AsSelect图书编号,图书名称,作者From图书信息表

Select*from视图Insertinto视图-图书信息Valuesinto视图-图书信息-图书信息Values(‘1103

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论