数据库的精彩笔记_第1页
数据库的精彩笔记_第2页
免费预览已结束,剩余7页可下载查看

下载本文档

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

文档简介

1、1 / 16数据库笔试题 数据库S遵I更團圍1.基础知识点:1NF:第一范式。假如关系模式R的所有属性的值域中每一个值差 不多上不可再分解的值,则称R属于第一范式模式。第一范式的 模式要求属性值不可再分裂成更小部分,即属性项不能是属性组 合或由组属性组成。2NF:第二范式。假如关系模式R为第一范式, 同时R中每一个非主属性完全函数依靠于R的某个候选键,则称R为第二范式模式。(假如A是关系模式R的候选键的一个属性, 则称A是R的主属性,否则称A是R的非主属性。)3NF:第三范 式。假如关系模式R是第二范式,且每个非主属性都不传递依靠 于R的候选键,则称R是第三范式的模式。BCNF:BC模式。假

2、如关系模式R是第一范式,且每个属性都不传递依靠于R的候选 键,那么称R为BCNF的模式。4NF:第四范式。设R是一个关系模式,D是R上的多值依靠集合。假如D中成立非平凡多值依靠XfY时,X必是R的超键,那么称R是第四范式的模式。2.试题1)设有关系R(S,D,M),其函数依靠集F=SD,D-M。则关系2 / 16R至多满足2NF。解析:属于依靠关系,所有至多满足第二范式。2)找出表ppp里面num最小的数,不能使用min函数。 答:select * from ppp where num1)。5)写出复制表、拷贝表和四表联合的SQL语句。答:复制表(只 复制结构, 源表名:A,新表名:B): s

3、elect * into B from A where仁0拷贝表(拷贝结构,源表名:A,新表名:B): select * intoB from A四表联查:select * from A,B,C,D where关联条件6)在SQL Server中如何用SQL语句建立一张临时表?答:create table #Temp(字段1类型,字段2类型)注意,临时 表要在表名前面加 “”。7) %代表任意长度(长度能够为0)的字符串,_代表任意单个字符。假如用户要查询的语句本身就含有%或_,这时就要使用escape短语对通配符进行转义了。3 / 168)集函数SUM,AV3的列必须是数值型。综合的是选择题

4、9)每一个部门的每个工种的工资最大值?selectdept_id,job_cat,max(salary)from employee group by dept_id,job_cat;10)在primary和unique两种约束的情况下,Oracle数据库会 隐形创建一个唯一索引。11)在select语句中包含一个where关键词,group by关键词 一般在where关键词之后,order by关键词一般在select语句 中所有关键词之后。12) select last_name,salary from employees order by salary; selectlast_name,

5、salary from employees order by 2 asc;这 两个SQL语句是相同的结果。13)假如你想把时刻显示成像“2005111014:44:17”如此的格式,SQL语句:select to_char (sydate,yyyymmdd hh24:mi:ss)from dual;14) select语句中用来连接字符串的符号是+。15)假如要从字符串“Hello world”中提取出“ello world如此的结果,SQL语句:select lower(trim(H fromHelloworld)from dual;4 / 163.存储过程和函数的区不是什么?答:存储过程是

6、用户定义的一系列SQL语句的集合,涉及特定表 或其他对象的任务, 用户能够调用存储过程。 而函数通常是数据 库已定义的方法, 它同意参数并返回某种类型的值, 同时不涉及 特定用户表。4.事务是什么? 答:事务是作为一个逻辑单元执行的一系列操作。 一个逻辑工作 单元必须有4个属性,称为ACID(原子性、一致性、隔离性和持 久性)属性,只有如此才能称为一个事务。5.游标的作用是什么?如何明白游标差不多到了最后? 答:游标用于定位结果集的行。通过推断全局变量FETCH_STATU够推断其是否到了最后。 通常此变量不等于0表示出错或到了最后。6.触发器分为事前触发和事后触发, 这两种触发有何区不?语句

7、 级触发和行级触发有何区不? 答:事前触发器运行于触发事件发生之前, 而事后触发器运行于触发事件发生之后。语句级触发器能够在语句执行前或后执行, 而行级触发在触发器所阻碍的每一行触发一次。7什么叫做SQL注入式攻击?如何防范?答:所谓SQL注入式攻击,确实是攻击者把SQL命令插入到Web表单的输入域页面请求的查询字符串中, 欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造动态SQL命令,或作为存储过程的输入参数,这类表单特不容易受到SQL注入式攻击。防范SQL注入式攻击闯入:只要在利用表单输入的 内容构造SQL命令之前,把所有输入内容过滤一番就能够了。过滤输入内容能够按

8、多种方式进行。第一,替换单引号,即把所有 单独出现的单引号改成两个单引号,防止攻击者修改SQL命令的 含义。第二,删除用户输入内容中的所有连字符,防止攻击者顺 利获得访问权限。第三,关于用来执行查询的数据库账户,限制 其权限。第四,用存储过程来执行所有的查询。第五,检查用户 输入的合法性, 确信输入的内容只包含合法的数据。 数据检查应 当在客户端和服务器端都执行。第六,将用户登录名称、密码等 数据加密保存。第七,检查提取数据的查询所返回的记录数量。8.为了防止在查询记录的时候被其他用户更改记录,应该采纳什 么方法?如何用查询语句实现该方法?5 / 16select i6 / 16数据类型会依照

9、当前时刻自动产生一个时刻字符串, 确保这些数 在数据库中是唯一的。timestamp一般用做给表行加版本戳的机 制,存储大小为8个字节。一个表只能有一个timestamp列。每 次插入或更新包含timestamp列的行时,timestamp列中的值均 会更新。 这一属性使timestamp列不适合作为键使用, 尤其是不 能作为主键使用。 对行的任何更新都会更改timestamp值,从而 更改键值。9.有一个数据库,只有一个表,包含着1000个记录,你能想出 一种解决方案来把第五行到第七行的记录用出来么?不要使用 航标和索引。答:第一步建立数据库:declare i intset i=1crea

10、te table #T(userid int)while (iANY(selecttop 4 userid from T order by userid)order by userid或者:select top 7userid from T where userid ALL(selecttop 4 userid from T order by userid)order by userid10.什么是聚拢索引?什么是非聚拢索引?什么是主键? 答:表中经常有一个列或列的组合, 其值能唯一地标识表中的每 一行。 如此的一列或多列称为表的主键。 聚拢索引确定表中数据 的物理顺序。 一个表中只能包含一个聚拢索引。 非聚拢索引与课 本中的索引类似。 数据存储select i8 / 16在一个地点, 索引存储在另一个地点,7 / 16172 r7 39 / 16索引带有指针指向数据的存储位置。 索引中的项目按索引键值的 顺序存储,而表中的信息按另一种顺序存储。11.现有一张表,有两个字段:ID,NAME。ID为主键。假如希望 查询出所有拥有2个或更多ID的NAME查询语句应该如何写? 答:selectName from table group by(name

温馨提示

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

评论

0/150

提交评论