1、在嵌入式SQL中使用游标的四个步骤是什么?分别用什么语句实现。再次打开的游标和前次打开的游标中的数据会不会相同?
(1)说明游标 exec sql declare<游标名> cursor for <select 语句>
(2)打开游标 exec sql open<游标名>
(3)推进游标 exec sql fetch<游标名> into <主变量>[<指示变量>]
(4)关闭游标 exec sql close<游标名>
再次打开会进行同步,所以数据可能会不同
2、第三范式(3NF)都消除了什么样的函数依赖?为什么说BC范式(BCNF)是改进了的第三范式?
消除了部分子函数依赖和传递依赖
第三范式是 任何非关键字段不能传递依赖任一侯选关键字
BC范式是 任何字段都不能传递依赖任一侯选关键字
一个BC范式一定是一个3NF,但是一个3NF不一定是一个BC范式,所有说BC范式(BCNF)是改进了的第三范式。
3、E-R模型的组成要素有哪几种?实体间的联系有哪几种?
有实体、联系、属性三种,实体间的联系有1:1、1:N、N:M三种。
4、一次封锁法和两段封锁协议的联系与区别?两者分别解决什么问题?
一次封锁法符合两段封锁协议,但两段封锁协议不要求一次封锁。一次封锁法能有效解决并发调度中死锁的问题,但实现它会调低系统的并发性。两段封锁协议保证了并发调度的可串行性,但仍有可能产生死锁。
5、索引的优、缺点是什么?为什么经常更新的表或属性、和备注型的属性上不宜建立索引?
索引的优点是加快查询速度,缺点是占用更多的系统资源,降低数据维护的效率。
经常更新的表或属性建立索引,当对数据进行更新时需要对索引进行频繁地维护,降低了数据维护的效率。
备注型属性上建立索引,会占用大量内存空间,影响系统的性能。
6、E-R模型转化为关系模型分哪几个步骤?属于数据库设计过程中哪个阶段的工作?
步骤:①实体转化为关系,实体的属性转化为关系的属性;②联系转化为关系,其属性由相联系的实体的码属性以及联系本身的属性组成;③对上两步产生的关系进行归并,具有相同码的关系可以合并为一个关系。