习题3补充题目:数据库基础知识(题目).docx

上传人:lao****ou 文档编号:264517 上传时间:2023-07-06 格式:DOCX 页数:8 大小:45.68KB
下载 相关 举报
习题3补充题目:数据库基础知识(题目).docx_第1页
第1页 / 共8页
习题3补充题目:数据库基础知识(题目).docx_第2页
第2页 / 共8页
习题3补充题目:数据库基础知识(题目).docx_第3页
第3页 / 共8页
习题3补充题目:数据库基础知识(题目).docx_第4页
第4页 / 共8页
习题3补充题目:数据库基础知识(题目).docx_第5页
第5页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《习题3补充题目:数据库基础知识(题目).docx》由会员分享,可在线阅读,更多相关《习题3补充题目:数据库基础知识(题目).docx(8页珍藏版)》请在第一文库网上搜索。

1、本题的主要目的,1 .为数据分析打基础,这里面是基础的基础。2 .除下面内容外,还有视图,存储过程等高级用法,先不要求掌握。3 .后面还要学习维度建模。4 .所有要点,都要写例子,证明自己操作过了,也会抽查。5 .学的内容是给自己的,不是检查官的。检查官同学自己会。1 .建表语句1. 1用语名建立一个名为fjuser表要求有下面字段:Id,自增主键uid,字符串长充64(目的是将来存UUido格式的数据)-主键fjnamc,字符串长度25PaSSWd,字符串长度25Chinesename,字符串长度25ave_grade,数值型长度61. 2重命名该表为fanruanuser2.修改表中字段,

2、添加,删除,修改2. 1在USer表中加一个address字段字符串类型长度1002. 2删除user表的Chinesename字段2. 3更改passwd的类型,长度为363 .子查询,左右连接,外连接,内连接的应用场景;并分析rhere与内联接的关系分别写几个高级的语句-自己准备的两个表,建表语句3.1 :沿用Sq1查询的数据表,答案:3.2 :答案:子查询:查询类别名称为“饮料”的产品名称答案:左连结:答案:右连结:答案:应用场景(与传统的WherC进行对比):答案:4 .Insert操作一4.2、4.2.1暂不要求1 .1用己有数据表去插入到新表中答案:4 .2插入数据到一个业务表,分

3、拆到两个表中,用一个关联id关联。答案:(提示:先思考下,怎么做到把信息如:如果没有方法就先做后面的,可以运用触发器,存储过程,sequence)公司省份城市联系人电话南京帆软软件有限公司江苏省南京张三17777777777南京帆软软件有限公司江苏省南京李四18888888888江苏软件园上海市上海张五19999999999江苏软件园上海市上海李六16666666666要求:构建三个表:业务表tmp001(公司,省份,城市,联系人,电话)公司表:ComPany(公司编号,公司,省份,城市)联系人表:PCrSonS(员工编号,公司编号,联系人,电话)执行,4. 2.1这里面的uid(下面变色的字

4、块)是自动生成的,不是写死的,自动关联上,用的函数UUid(),Sq1server用guid()生成)得到结果:公司表company(ucompanyid,company_name,provice,city)15e93b6f-6d43-102f-9089-ad5cc5c899a4江苏省南京上海市上海南京帆软软件有限公司江苏软件园联系人表persons(upersonid,ucompanyid,pername,te1)1777777777718888888888199999999991666666666615e93b6f-6d43-102f-9089-ad5cc5c899a415e93b6f-6

5、d43-102f-9089-ad5cc5c899a4张三25e93b6f-6d43-652f-9089-ad5cc5c899a415c93b6f-6d43T02f-9089-ad5cc5c899a4李四35e93b6f-6d43-662f-9089-ad5cc5c899a4张五45e93b6f-6d43-872f-9089-ad5cc5c899a4李六5. 2.2思考:怎么把uuid,换成流水号sequence代替参考:sq1server2008是没有sequence的,怎么模拟实现;Sq1SerVer2012就有了http:/Ineetrice,iteye.ComZb1og/89426htt

6、p:/b1og,51Cto.ComZgghhgame51333/41210得到结果:公司表company(ucompanyid,company_name,provice,city)2018company001南京帆软软件有限公司江苏省南京2018company002江苏软件园上海市上海联系人表persons(upersonid,ucompanyid,Pejname,te1)201SpcrsonOO1201ScompanyOO1张三177777777772018person002201ScompanyOO1李四188888888882018pcrson0032018company002张五199

7、999999992018pcrson0042018company002李六166666666666. DE1ETE操作6.1 普通的DE1ETE操作,用第三方表做判断标准来删除目标表中的数据答案:5. 2级联删除(百度一下)子表对父表做级联删除,如果删除父表的数据那么与之对应子表的数据也会相应的删除答案:6. UPDATE,6. 1更新单表中的内容答案:7. 2同时更新两个表,两个表有主键关联答案:7.触发器和事务一暂不要求7.1 在删除一个表中一条记录前,把数据转存到另外一个备份表中答案:7.2 在更新了一个表中某一条记录后,把更新前的该记录存入另外一个备份表中,并在备份表中记录该更新记录的

8、更新日期答案:7. 3.在插入一条记录到目标表时,,同时插入到另外一张表(提示:insert操作4.2题)答案:7. 4.事务的应用场景答案:8. 5事务的提交机制和如何回滚答案:8.外键8.1 外键与主键的区别,举例说明答案:8.2 为什么要用外键,参照完整性,外键有哪些应用答案:8. 3,建立新表COUrSe(Uid,course_name,user)记录表user中用户的选课信息Uid为表COUrSe的主键course_name为课程名USer字段信息来源为USer表中的name建立外键fk_course_user使COUrSe表中的USer字段中值参照USer表中的name答案:9.

9、4,怎么让表user和表course中的数据库同时更新删除级联更新答案:(提示,怎么配置)10. 表三个范式参考资料:http:/SUiYUbk)g977274三个范式实例题目9.1有了以上基础看下面文章:完成后完成该题目:实例:借书证号,读者姓名,单位,电话,书号,书名,出版社,出版社地址,借阅日期用建表三范式来跟据以上业务建表1 .要求每表有主键2 .适当的外键约束3 .参照完整性答案:10.扩展题0:(sq1server环境)1rowjumber用于分组后的组内排序Se1ectrow_number()over(partitionby排序依据)from表名2.1eftjoinrightji

10、onfu11join内联1eftjoin:在两张表进行连接查询时,会返回左表所有的行,即使在右表中没有匹配的记录rightjoin:在两张表进行连接查询时,会返回右表所有的行,即使在左表中没有匹配的记录fu11join:在两张表进行连接查询时,会返回两张表中所有的行,即使没有匹配记录3.with用法子查询部分,该部分作为一个片段,会被整个查询中用到WithAas(se1ect/insert/update)4.truncate用法删除表中所有的行truncate表名5.de1etefrom用法删除表中部分的行,后面可以添加Where条件6.convert用法把日期转换成不同类型ConVert(类

11、型(长度),日期字段,格式ID)7.cast用法转换数据类型Se1ectCast(原数据AS系统数据类型)8.主键外键数据格式后面添加primarykeyA1ter表名addConstrant字段名foreignkey主表关联字段references关联表字段9.索引.表中数据量较大,每次执行查询都需要全部读一遍整个表,因此需要建立索引来提高查询效率10.A表有idname1A2B3CB表有idname1 D2 F问题:updateAsetA.name=B.namefromA1eftjoinBonA.id=B.idupdateAsetA.name=B.namefromA,BwhereA.id=

12、B.id分别执行完,A表数据有区别吗?如果改右连接,外连接会有什么结果,为什么?第一个查询完成只更新符合条件的数据行第二个查询完成值会把右表中不符合匹配条件的行更新为空11.基它题目:11.3. Sequence用法,流水号生成11.4. Charvarcharncharnvarchar区别与用法,效率Char是定长的,不够会设为空值补足,超出会截取(英文和数字)8000Varchar是可变长度的,设定一个最高线,输入插入多少字符就是多少(英文和数字)8000Nchar含中文4000Nvarchar含中文400011.5. P1sqKNaViCat的使用。P1SQ1是Orade数据库对SQ1语

13、句的扩展。在普通SQ1语句的使用上增加了编程语言的特点(不能)Navicat是一款简单轻便的数据库管理工具11.6. SqI语句的执行顺序,以及怎么查看写的Sq1是否最优I、FrOm(告诉程序来自哪张表如果是表表达式依旧是如此顺序)2、Where(条件筛选谓词筛选)3、Groupby(分组)4、Having(分组谓词筛选)5、Se1eCt(表达式)6、表达式(开窗函数聚合函数等等)7、DiStinet(去重复)8、ORDERBY9、Te)P/OFFSET-FETCH1 .系统内存2 .非阻断式运算3 .全局扫描11.7. 索引,聚集索引,非聚集索引(每张表允许不同类型的索引分别最多有几个?为什

14、么?索引最多可以设在多少个字段上,为什么?)聚集索引:建立聚簇索引后,基表中数据也需要按指定的聚簇属性值的升序或降序存放。也即聚簇索引的索引项顺序与表中记录的物理顺序一致非聚集索引:非聚集索引中键值的逻辑顺序与行的物理存储位置不一致11.8. 代理键(数据仓库专用,区分开逻辑主键和业务主键)代理键是指在关系型数据库设计中,当资料表中的候选键都不适合当主键时,例如资料太长,或是意义层面太多,就会用一个attribute来当代理主键,此主键可能是用流水号,来代替可辨识唯一值的主键11.9. 下面写的数据库建表原则必须要遵守吗,什么情况下用什么样的结构呢?范式一共有几个,三范式的每个特性是指什么,用

15、数据举例说明!第一范式是最基本的范式,数据库表中的所有字段值都是不可分解的原子值第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)第三范式确保数据表中的每一列数据都和主键直接相关,而不能间接相关数据库建表原则1 .原始单据与实体之间的关系可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。K例:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情况表、社会关系表、工作简历表。这就是“一张原始单证对应多个实体”的典型例子。2 .主键与外键般而言,个实体不能既无主键又无外键。在

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 汇报材料

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服