KingSCADA历史库及其他关系数据库

KingSCADA历史库及其他关系数据库
KingSCADA历史库及其他关系数据库

KingSCADA

历史库及其他关系数据库

常见问题解答

北京亚控科技发展有限公司

2013年02月

目录

1. KingSCADA历史库 (1)

1.1 KingSCADA保存的历史数据,我希望对其进行修改,可以吗? (1)

1.2 启动KingSCADA运行系统,信息窗口提示找不到历史服务? (1)

1.3 启动KingSCADA运行系统,信息窗口提示历史服务无法启动?新建一

个工程,运行正常。 (1)

1.4 启动KingSCADA运行系统,提示加载历史库服务失败?新建一个工

程,运行正常。 (1)

1.5 我使用了自己编写的VC等程序,希望能调用KingSCADA保存的历史数

据文件,请问可以实现吗? (2)

1.6 请问目前版本的KingSCADA软件历史数据存储及文件格式是什么?2

1.7 请问如何访问KingSCADA历史库中的数据?KingSCADA中的历史库

文件是否可以使用其他应用程序打开? (3)

1.8 KingSCADA历史库文件是否可以修改、删除?如果不慎删除后能否恢复? (3)

1.9 在KingSCADA软件中变量的历史记录方式有哪几种? (3)

1.10 KingSCADA的历史库容量有多大?历史信息能存多少天的? (4)

1.11 在KingSCADA运行环境中能否动态修改历史数据记录的存储天数? (4)

1.12 用什么方式查询KingSCADA历史库中保存的原始数据? (4)

1.13 查询出来的KingSCADA历史库中原始数据后面的质量戳代表什么含义? (4)

2. 其他数据库 (4)

2.1 KingSCADA采集的数据能保存到第三方的数据库如SQL、ORACLE等吗? (4)

2.2 我希望KingSCADA将采集的数据保存到网络中的另一台计算机上的

SQL或ORACLE等数据库,如何操作? (5)

2.3 请问KingSCADA软件与SQL数据库交互的一般配置过程如何? (5)

2.4 KingSCADA对SQL数据库写数据,写入没有成功,请问需要注意什么

问题? (5)

2.5 如何判断KingSCADA与外部数据库的连接状态? (5)

2.6 在KingSCADA中能否对Access数据库进行压缩,该如何实现? (5)

2.7 利用表格模板和SQLCreateTable()函数创建数据库表格,为什么创建不

成功? (6)

2.8 用SQLDropTable()函数删除一个数据库表格,为什么删不掉? (6)

2.9 用SQLGetRecord()函数为什么不能返回当前选择集中的指定序号的记录? (6)

2.10 KS与SQL2008 连接,在2008server 64 位操作系统,使用SQLconnect ()函数时,信息窗口提示:”[Microsoft][ODBC 驱动程序管理器] 在指定的

DSN 中,驱动程序和应用程序之间的体系结构不匹配“ (6)

2.11 KS的离散类型变量不能直接插入到Oracle数据库中,其他的数据类型

可以? (7)

2.12 MYSQL数据库建立ODBC数据源时,服务器地址使用127.0.0.1 或local

都能测试连接成功,用本机IP就连接失败?? (7)

2.13 通过调用数据集函数KDBGetDataset()对access数据库进行操作时,一直报错“对象关闭时,不允许操作。DBAccess: Open the source recordset failed!”? (7)

1. KingSCADA 历史库

1.1 KingSCADA 保存的历史数据,我希望对其进行修改,可以吗?

不可以,KingSCADA 保存的历史数据文件不开放用户来修改。

1.2 启动KingSCADA 运行系统,信息窗口提示找不到历史服务?

1)360 阻止\卸载了KingSCADA 的报警、历史服务程序。关闭360,或在360 里把KingSCADA 设为例外,重装KingSCADA。

2)也可以手动安装KingSCADA 的报警、历史服务程序:

在操作系统-开始-运行里执行:

C:\Program Files\KingSCADA\bin\AEserver.exe –I

C:\Program Files\KingSCADA\bin\HistoryServer.exe –I

1.3 启动KingSCADA 运行系统,信息窗口提示历史服务无法启动?新建一个工程,运

行正常。

工程为网络模式,但是所设IP 地址非本机IP,改为单机模式,或设置正确IP。

1.4 启动KingSCADA 运行系统,提示加载历史库服务失败?新建一个工程,运行正常。

可能是工程的历史数据存储路径不是默认的工程路径下,设置的路径不存在,改一下存储路径。

1.5 我使用了自己编写的VC 等程序,希望能调用KingSCADA 保存的历史数据文件,

请问可以实现吗?

KingSCADA 针对用户的这种需求,提供了100 多个API 接口,可以实现与KingSCADA 系统的数据交互。

详情请跟亚控技术部联系。

1.6 请问目前版本的KingSCADA 软件历史数据存储及文件格式是什么?

KingSCADA 历史记录文件有下面四种类型的文件:

(1)临时数据文件(*.ArcTmp)

存储最近一段时间的原始数据。

文件名格式为YYYYMMDDHHXXXXXXX.AcrTmp,YYYY——年,MM——月,DD——日,HH——小时,XXXXXXX——文件序号。年、月、日、小时的数值是根据生成数据时刻的格林威治时间确定。若在临时文件没有被压缩到arc 文件前,重新启动,会重新生成一个临时文件。

(2)归档文件(*.arc)

保存的是一天内的压缩数据,文件名格式为YYYYMMDDXXXXXXX.arc

(3)特征值文件(*.ev)

存放的是原始数据特征值,文件名格式为YYYYXXXXXXX.ev

(4)临时特征值文件(*.EvTmp)

这是存储临时特征值数据的文件,将根据特征值算法过滤出的数据,在下个月到来归档之前,先存放在临时特征值文件中。文件名格式为YYYYXXXXXXX.EvTmp。

1.7 请问如何访问KingSCADA 历史库中的数据?KingSCADA 中的历史库文件是否可

以使用其他应用程序打开?

KingSCADA 中的历史库文件是KingSCADA 自定义的文件格式,所以无法使用其他应用程序打开,可以通过KingSCADA 提供的报表控件、历史趋势曲线来获取历史库中的数据。

1.8 KingSCADA 历史库文件是否可以修改、删除?如果不慎删除后能否恢复?

KingSCADA 历史库文件用户是不能够修改的,只能够进行查询。

KingSCADA 历史库文件是以文件格式保存在计算机里的,所以可以删除掉的,但是要注意如果一旦删除此文件,将无法查询到该时期的历史数据。

如果不慎将历史库文件删除的话,将无法进行恢复。

1.9 在KingSCADA 软件中变量的历史记录方式有哪几种?

无:选择该项,则该变量不进行历史记录

改变:系统运行时,变量的实时值在发生变化,如果变量的当前值与上一次记录的历史数据值之间的差值大于设置的死区范围时,该变量的值才会被记录到历史库中,这种方式适用于数据变化较快的场合。

间隔:无论变量变化与否,系统运行时按定义的时间间隔将变量的值记录到历史库中,每隔设定的时间对变量的值进行一次记录。最小定义时间间隔单位为 1 秒,范围1-3600。这种方式适用于数据变化缓慢的场合,缺省设置为60 秒。

备份:有些设备带有一定数量的数据存储器,可以存储一段时间的设备采集到的数据,但这些设备往往只是简单的记录数据,而不能进行历史数据的查询、浏览等操作,而且必须通过上位机的处理才可以看到。此时选择该项,KingSCADA 在运行时,不再直接向历史库中记录该变量的数值,而是通过驱动程序将设备中存储的历史记录读取上来,并按照约定的时间格式和变量类型插入到KingSCADA 的历史库中,这样保证了历史库的完整性。

每次采集记录:系统运行时,按照变量的采集频率进行数据记录,每到一次采集频率,记录一次数据。该功能只适用于IO 变量,内存变量没有该记录方式。该功能应慎用,因为当数据量比较大,且采集频率比较快时,使用“每次采集记录”,存储的历史

数据文件会消耗很多的磁盘空间。

1.10 KingSCADA 的历史库容量有多大?历史信息能存多少天的?

KingSCADA 历史库容量本身没有限制,与计算机硬盘大小有关系,历史信息最长能保存8000 天。

1.11 在KingSCADA 运行环境中能否动态修改历史数据记录的存储天数?

不能动态修改。只能在开发环境中通过系统设置-->历史库服务设置-->历史库服务设置对话框中进行设置。

1.12 用什么方式查询KingSCADA 历史库中保存的原始数据?

可以用数据集函数KDBKSRawData(),具体使用方法请参考函数手册。

1.13 查询出来的KingSCADA 历史库中原始数据后面的质量戳代表什么含义?

质量戳的含义如下:

十进制描述信息

262336 原始数据、好的数据

262144 原始数据、坏数据

1074004000 网络连接、原始数据、尚未取得设备数据(没有采集到数据)

1879310368 开机( Bad ),原始数据,尚未取得设备数据

2147745792 关机( Bad ),原始数据,坏数据(数据溢出补码:-2147221504)1074003968 网络连接,原始数据,坏数据

1879048224 开机( Bad ),尚未取得设备数据

1073741856 网络连接,尚未取得设备数据

2. 其他数据库

2.1 KingSCADA 采集的数据能保存到第三方的数据库如SQL、ORACLE 等吗?

可以,详细说明请参考KingSCADA 的使用手册。

2.2 我希望KingSCADA 将采集的数据保存到网络中的另一台计算机上的SQL 或

ORACLE 等数据库,如何操作?

可以,但一般不推荐直接在运行KingSCADA 的计算机上直接配置网络ODBC 数据源,因为网络的不稳定会造成一系列的通讯问题。

推荐方式如下:

请在运行KingSCADA 的计算机和网络中的数据库计算机同时安装SQL或ORACLE 数据库,对这两台计算机上的SQL 或ORACLE 数据库进行同步(数据库软件提供同步的功能),KingSCADA 软件直接与本机的数据库通讯读写数据(这样可以避免网络不

稳定对KingSCADA 软件的影响,防止数据的丢失)。

2.3 请问KingSCADA 软件与SQL 数据库交互的一般配置过程如何?

可以参考KingSCADA 用户手册的第十八章数据库访问SQL。同时KingSCADA 还支持通过数据集函数与关系库进行数据交换,使用标准的SQL 语句即可。

2.4 KingSCADA 对SQL 数据库写数据,写入没有成功,请问需要注意什么问题?

需要注意的事项如下:

A、KingSCADA 与数据源是否连接成功。

B、数据库中的表格的字段名与KingSCADA 记录体定义的字段名是否相同。

C、数据库表格的字段类型与KingSCADA 变量的类型是否符合。

D、表格中使用的字段名是否有date 和time、in 等关键字,如果有请改为其他字段名。

E、数据库字段中是否包含有#字,ODBC 数据源不支持该字符使用。

2.5 如何判断KingSCADA 与外部数据库的连接状态?

通过SQLConnect 函数的返回值来判断,如果是0 表明与数据库连接成功,如果是负数则表明连接失败。

2.6 在KingSCADA 中能否对Access 数据库进行压缩,该如何实现?

亚控提供了对Access 数据库进行压缩处理的批处理程序,在KingSCADA 中使用StartApp 函数调用此程序即可,批处理程序可以使用记事本打开并编辑,针对具体的应用只需要修改批处理程序中的office 的安装路径以及mdb 数据库的路径/文件名即可。如有需要请向亚控索取。

2.7 利用表格模板和SQLCreateTable()函数创建数据库表格,为什么创建不成功?

可能原因是表格模板中设置的字段名称与数据库中的关键字冲突(如:date、time

等等)造成的,将其字段名更改为其它名称即可。

2.8 用SQLDropTable()函数删除一个数据库表格,为什么删不掉?

如果这个表格正在被使用,是不能被删除的。比如刚执行过SQLSelect()命令。

2.9 用SQLGetRecord()函数为什么不能返回当前选择集中的指定序号的记录?

这个函数如果不用类似 SQLSelect()等函数选择数据库中的某个表,是不能得到

指定序号的记录的。

同理,SQLNumRows(ConnectID)函数也需要先选择数据表。

2.10 KS 与SQL2008 连接,在2008server 64 位操作系统,使用SQLconnect()函数时,

信息窗口提示:”[Microsoft][ODBC 驱动程序管理器] 在指定的DSN 中,驱

动程序和应用程序之间的体系结构不匹配“

因为操作系统是64 位和32 位的问题,解决方法:

C:\Windows\SysWOW64\odbcad32.exe 利用这个odbc 为创建就可以连接成功。

下图中默认的是32位的ODBC数据源的快捷方式,需要把路径指定到64位的ODBC 的驱动程序上。

2.11 KS 的离散类型变量不能直接插入到Oracle 数据库中,其他的数据类型可以?

Oracle 数据库不支持离散类型的数据,只能把离散类型变量赋值给整形变量或文本,

然后再插入到oracle 数据库中。

2.12 MYSQL 数据库建立ODBC 数据源时,服务器地址使用127.0.0.1 或local 都能测试

连接成功,用本机IP 就连接失败??

原因是用户root 的角色不够。

2.13 通过调用数据集函数KDBGetDataset()对access 数据库进行操作时,一直报错“对

象关闭时,不允许操作。DBAccess: Open the source recordset failed!”?

KDBGetDataset("DatasetName", ConnectStr, "insert into test values('a') "); 或KDBGetDataset1("DatasetName", "ConnectID", "insert into test values('a')");函数是用来执行查询语句的(例如:KDBGetDataset("DatasetName", ConnectStr, "select * from test"),而不是执行那些非查询的语句,所以执行完成之后会保存记录集。如果使用它进行插入

操作,插入操作只会返回影响行数,并不会产生记录集,导致获得记录集的时候发生异

常。因此如果要执行非查询语句的之后,应该使用KDBExecuteStatement 或者KDBExecuteStatement1 函数。

(完整版)数据库关系代数习题

1.设有如图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句: S C SC S# SNAME AGE SEX 1 李强23 男 2 刘丽22 女5 张友22 男C# CNAME TEACHER k1 C语言王华 k5 数据库原理程军 k8 编译原理程军 S# C# GRADE 1 k1 83 2 k1 85 5 k1 92 2 k5 90 5 k5 84 5 k8 80 (1) 检索”程军”老师所授课的课程号(C#)和课程名(CNAME)。 (2) 检索年龄大于21的男学生学号(S#)和姓名(SNAME)。 (3) 检索至少选修”程军”老师所授全部课程的学生姓名(SNAME)。 (4) 检索”李强”同学不学课程的课程号(C#)。 (5) 检索至少选修两门课程的课程号(S#)。 (6) 检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。 (7) 检索选修课程包含”程军”老师所授课程之一的学生学号(S#)。 (8) 检索选修课程号为k1和k5的学生学号(S#)。 (9) 检索选修全部课程的学生姓名(SNAME)。 (10) 检索选修课程包含学号为2的学生所选修课程的学生学号(S#)。 (11) 检索选修课程名为”C语言”的学生学号(S#)和姓名(SNAME)。(12)检索没有一门课程成绩不及格的学生学号,姓名。 答:本题各个查询语句对应的关系代数表达式表示如下: (1) ΠC#,CNAME(σTEACHER ='程军'(C)) (2) ΠS#,SNAME(σAGE>21^SEX ='男'(S)) (3) ΠSNAME(S(ΠS#,C#(SC)÷ΠC#(σTEACHER ='程军'(C)))) (4) ΠC#(C)-ΠC#(σSNAME ='李强'(S)∞SC) (5) ΠS# (σ1=4^2≠5 (S C×SC)) (6) ΠC#,CNAME(C∞(ΠS#,C#(SC)÷ΠS#(S))) (7) ΠS# (SC∞ΠC# (σTEACHER ='程军'(C))) (8) ΠS#,C#(SC)÷ΠC#(σC#=’K1’VC#=’K5’ (C)) (9) ΠSNAME(S∞(ΠS#,C#(SC)÷ΠC#(C))) (10) ΠS#,C#(SC)÷ΠC#(σC#=’2’ (S C)) (11) ΠS#,SNAME(S∞ΠS#(SC∞(σCNAME ='C语言'(C)))) (12)П学号,姓名(学生)-П学号,姓名(σ分数<60(学生∞学习))。

数据库表和数据库关系的实现

第五讲数据库表和数据库关系的实现 5.1数据类型 定义数据表的字段、声明程序中的变量时,都需要为他们设置一个数据类型。目的是指定该字段或变量所存放的数据类型,以及需要多少空间。 5.1.1整型:可以用来存放整数数据的字段或变量。有bigint、int、smallint、 两种类型,这两种类型完全相同,一般建议使用numeric。 使用numeric或decimal时,必须指明精确度(即全部有效位数)与小数点位数,例如:numeric(5,2)表示精度为5,总共位数为5位,其中3位整数及2位小数。若不指定,则默认值为numeric(18,0)。精确度可指定的范围为1~38, 取其“近似值”。例如:23456646677799变成 2.3E+13,此类数据类型有float 和real两种。注意:使用float和real类型,若数值的位数超过其有效位数的限

其中varchar及text的实际存储长度会依数据量而调整。如:varchar(10)表示最多可存储10字节,但若只填入5个字符,那么只会占用5字节。char与varchar 最多只能存储8000个字符,若数据超过此长度,请改用text类型。 在使用char及varchar时必须指定字符长度,例如char(50)、varchar(50); 的数据与字符串类型相当类似,Unicode字符串的一个字符是用2个字节存储,而一般字符串是一个字符用1个字节存储。此类数据类型有nchar、nvarchar、ntext。 在使用nchar及nvarchar时必须指定字符长度,例如nchar(50)、nvarchar 据多用16进制表示,而且要加上0x字头)。此类数据类型有binary、varbinary 与image,其特性分别相当于字符串类型的char、varchar、text。image类型还可以用来存放word文件、excel电子表格、以及位图、GIF和JPEG文件。 使用binary及varbinary时须指定字符长度,例如binary(50)、varbinary(30);若未指定,默认值为1。Image类型则不必指定长度。

(完整版)大学数据库考试复习试题带答案

2019数据库期末复习内容 1.选择题 (1)(数据库)是存储在计算机内结构化的数据的集合 (2)下述关于数据系统正确的描述是(数据库系统减少了数据冗余)。 (3)数据库(DB)、与数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(DBS 包含DB 和DBMS )。(4)数据库管理系统的工作不包括(为定义的确据库提供操作系统)。 (5)用于对现实世界进行描述的工具是(数据模型)。 (6)在数据库的三级模式结构中,描述数据库中全局逻辑结构和特征的是(模式)。 (7)E-R图用来建立数据库的(概念模型)。 (8)下列模型中不能直接描述实体间多对多的联系的是(关系模型)。 (9)数据模型的三个要素是(数据结构、数据操作、完整性约束) (10)数据库的设计人员和用户之间沟通信息的桥梁是(实体联系图)。 (11)数据的独立性分为(逻辑独立性和物理独立性)。 (12)数据库通常是根据(数据模型)来分类的。 (13)关系数据库系统能实现专门的关系运算,包括(选择、投影、连接、除)。 (14)在关系模型中,下述关于关键字的说法正确的是(可以由一个或多个其值能唯一标识该关系模式中任何元组的属性组成)。 (15)被称为关系的两个不变性,由关系数据库系统自动支持的是(实体完整性和参照完整性)。 (16)在关系中不能出现相同元组的约束是通过(主码)来实现。 (17)下列数据模型中,数据独立性最高的是(关系模型). (18)规范化理论是关系数据库进行逻辑设计的理论依据。根据这个理论,关系数据库中的关系必须满足:每一属性都是(不可分解的)。 (19)关系数据库规范化是为解决关系数据库中(插入异常、删除异常和数据冗余)问题而引入的。 (20)在关系数据库中,任何二元关系模式的最高范式必定是(BCNF ) (21)若属性X函数依赖于属性Y时,则属性X与属性Y之间的关系是(多对一)。 (22)设有关系模式:部门(部门代码,部门名称,部门成员,部门经理)由于其中(部门成员)属性存在,使该关系不属于第一范式。 (23)若关系模式R中的属性都是主属性,则R最高属于(3NF )。 (24)若要彻底消除插入异常和删除异常,关系模式最低要属于(BCNF)。 (25)关系模式分解的无损连接和保持函数依赖两个特性之间的联系是(没有必然联系)。 (26)关系模式中数据依赖的存在,可能会导致成立蕴涵后者数据插入异常,这是指(该插入的数据未被插入)。(27)设要对关系模式R(学号,姓名,课程代码,课程名,课程成绩)进行分解,将其规范化到3NF,下列(B)是正确的规范化结果。B.R1(学号,姓名)R2(课程代码,课程名)R3 (学号,课程代码,课程成绩) (28)有如下关系R(是BCNF)。 (29)对用户访问数据库的权限加以限定是为了保护数据库的(安全性)。 (30)下面(可移植性)不是数据库系统必须提供的数据控制功能。 (31)数据库系统中,对存取权限定义为(授权)。 (32)在数据库的安全性控制中,为了保证用户只能存取他有权存取的数据,在授权的定义中,数据对象的(范围越小),授权子系统就越灵活。 (33)数据库安全性遭到破坏的情况属于(非法用户读取数据库中的数据)。 (34)数据库的(完整性)是指数据的正确性和相容性。 (35)数据完整性保护中的约束条件是指(值的约束和结构的约束)。 (36)实体完整性和参照完整性属于(静态关系约束)。 (37)数据类型、取值范围、空值约束属于(静态列级约束)。

关系数据库设计

目录 一 Codd的RDBMS12法则——RDBMS的起源 二关系型数据库设计阶段 三设计原则 四命名规则 数据库设计,一个软件项目成功的基石。很多从业人员都认为,数据库设计其实不那么重要。现实中的情景也相当雷同,开发人员的数量是数据库设计人员的数倍。多数人使用数据库中的一部分,所以也会把数据库设计想的如此简单。其实不然,数据库设计也是门学问。 从笔者的经历看来,笔者更赞成在项目早期由开发者进行数据库设计(后期调优需要DBA)。根据笔者的项目经验,一个精通OOP和ORM的开发者,设计的数据库往往更为合理,更能适应需求的变化,如果追其原因,笔者个人猜测是因为数据库的规范化,与OO的部分思想雷同(如内聚)。而DBA,设计的数据库的优势是能将DBMS的能力发挥到极致,能够使用SQL和DBMS实现很多程序实现的逻辑,与开发者相比,DBA优化过的数据库更为高效和稳定。如标题所示,本文旨在分享一名开发者的数据库设计经验,并不涉及复杂的SQL语句或DBMS使用,因此也不会局限到某种DBMS产品上。真切地希望这篇文章对开发者能有所帮助,也希望读者能帮助笔者查漏补缺。 一?Codd的RDBMS12法则——RDBMS的起源 Edgar Frank Codd(埃德加·弗兰克·科德)被誉为“关系数据库之父”,并因为在数据库管理系统的理论和实践方面的杰出贡献于1981年获图灵奖。在1985年,Codd 博士发布了12条规则,这些规则简明的定义出一个关系型数据库的理念,它们被作为所有关系数据库系统的设计指导性方针。 1.信息法则?关系数据库中的所有信息都用唯一的一种方式表示——表中的值。 2.保证访问法则?依靠表名、主键值和列名的组合,保证能访问每个数据项。 3.空值的系统化处理?支持空值(NULL),以系统化的方式处理空值,空值不依赖于数据类型。 4.基于关系模型的动态联机目录?数据库的描述应该是自描述的,在逻辑级别上和普通数据采用同样 的表示方式,即数据库必须含有描述该数据库结构的系统表或者数据库描述信息应该包含在用 户可以访问的表中。 5.统一的数据子语言法则?一个关系数据库系统可以支持几种语言和多种终端使用方式,但必须至少 有一种语言,它的语句能够一某种定义良好的语法表示为字符串,并能全面地支持以下所有规 则:数据定义、视图定义、数据操作、约束、授权以及事务。(这种语言就是SQL) 6.视图更新法则?所有理论上可以更新的视图也可以由系统更新。 7.高级的插入、更新和删除操作?把一个基础关系或派生关系作为单个操作对象处理的能力不仅适应 于数据的检索,还适用于数据的插入、修改个删除,即在插入、修改和删除操作中数据行被视 作集合。 8.数据的物理独立性?不管数据库的数据在存储表示或访问方式上怎么变化,应用程序和终端活动都 保持着逻辑上的不变性。 9.数据的逻辑独立性?当对表做了理论上不会损害信息的改变时,应用程序和终端活动都会保持逻辑 上的不变性。 10.数据完整性的独立性?专用于某个关系型数据库的完整性约束必须可以用关系数据库子语言定 义,而且可以存储在数据目录中,而非程序中。

数据库系统原理(2018年版)课后习题参考答案解析

答案仅供参考 第一章数据库系统概述 选择题 B、B、A 简答题 1.请简述数据,数据库,数据库管理系统,数据库系统的概念。 P27 数据是描述事物的记录符号,是指用物理符号记录下来的,可以鉴别的信息。 数据库即存储数据的仓库,严格意义上是指长期存储在计算机中的有组织的、可共享的数据集合。 数据库管理系统是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。数据库系统是指在计算机中引入数据库技术之后的系统,包括数据库、数据库管理系统及相关实用工具、应用程序、数据库管理员和用户。 2.请简述早数据库管理技术中,与人工管理、文件系统相比,数据库系统的优点。 数据共享性高 数据冗余小 易于保证数据一致性 数据独立性高 可以实施统一管理与控制 减少了应用程序开发与维护的工作量 3.请简述数据库系统的三级模式和两层映像的含义。 P31 答: 数据库的三级模式是指数据库系统是由模式、外模式和内模式三级工程的,对应了数据的三级抽象。 两层映像是指三级模式之间的映像关系,即外模式/模式映像和模式/内模式映像。 4.请简述关系模型与网状模型、层次模型的区别。 P35 使用二维表结构表示实体及实体间的联系 建立在严格的数学概念的基础上 概念单一,统一用关系表示实体和实体之间的联系,数据结构简单清晰,用户易懂易用 存取路径对用户透明,具有更高的数据独立性、更好的安全保密性。

第二章关系数据库 选择题 C、C、D 简答题 1.请简述关系数据库的基本特征。P48 答:关系数据库的基本特征是使用关系数据模型组织数据。 2.请简述什么是参照完整性约束。 P55 答:参照完整性约束是指:若属性或属性组F是基本关系R的外码,与基本关系S的主码K 相对应,则对于R中每个元组在F上的取值只允许有两种可能,要么是空值,要么与S中某个元组的主码值对应。 3.请简述关系规范化过程。 答:对于存在数据冗余、插入异常、删除异常问题的关系模式,应采取将一个关系模式分解为多个关系模式的方法进行处理。一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式,这就是所谓的规范化过程。 第三章数据库设计 选择题 B、C、C 简答题 1. 请简述数据库设计的基本步骤。 P66 需求分析设计;概念结构设计;逻辑结构设计;物理结构设计;数据库设计;数据库的运行和维护。 2. 请分别举例说明实体之间联系的三种表现情形。 P74 一对一联系:对于实体集A中的每个实体,实体集B中最多只有一个实体与之联系,反之亦然。举例:班级与班长,每个班只有一个班长,每个班长也只在一个班内任职。 一对多联系:对于实体集A中的每个实体,实体集B中有N个实体与之联系,反之,对于实体集B中的每个实体,实体集A中最多只有一个实体与之联系。举例:班级与班级成员,每个班级对应多个班级成员,每个班级成员只对应一个班级。 多对多联系:对于实体集A中的每个实体,实体集B中有N个实体与之联系,反之,对于实体集B中的每个实体,实体集A中有M个实体与之联系。举例:授课班级与任课教师,每个

关系数据库中

1关系数据库中,主键的正确描述是(D )。 (A) 创建唯一的索引,允许空值(B) 允许有多个主键的 (C) 只允许以表中第一字段建立(D) 为标识表中唯一的实体 2以下不适合创建非聚集索引的情况是(A )。 (A) 表中包含大量重复的列值(B) 带WHERE子句的查询 (C) 经常需要进行联接和分组操作的列(D) 表中包含大量非重复的列值 3使用视图的作用有4个,下列哪一个是错误的(A )。 (A) 导入数据(B) 定制操作 (C) 简化操作(D) 安全性 4叙述A:当视图被撤消,不会对基表造成任何影响。叙述B:不能改变作为计算结果的列。关于对以上叙述中,正确的是(C )。 (A) 叙述A错误,叙述B正确(B) 叙述A正确,叙述B错误 (C) 都正确(D) 都是错误的 5语句:select 10%7 的执行结果是(D )。 (A) 7 (B) 1 (C) 70 (D) 3 6下列关于关联的叙述正确的是( D)。 (A) 已创建关联的两个表中的关联字段数据 可能完全不同(B) 可在两个表的不同数据类型的同名字段 间创建关联 (C) 可在两个表的不同数据类型的字段间创 建关联(D) 可在两个表的相同数据类型的不同名称 的字段间创建关联 7用UNION合并两个SELECT查询的结果时,下列叙述中错误的是()。 (A) 两个SELECT语句必须输出同样的列数(B) 将来自不同查询的数据组合起来 (C) 两个表各相应列的数据类型必须相同(D) 被组合的每个查询都可以使用ORDER B Y子句 8查询所有目前年龄在24岁以上(不含24岁)的学生信息(学号、姓名、年龄),正确的命令是()。 (A) SELECT 学号,姓名,年龄=YEAR(GETDA TE())-YEAR(出生日期) FROM 学生 WHE RE YEAR(GETDATE())-YEAR(出生日 期)>24 (B) SELECT 学号,姓名,YEAR(GETDATE())- YEAR(出生日期) 年龄 FROM 学生 WHE RE YEAR(GETDATE())-YEAR(出生日 期)>24

数据库习题答案

1.3 习题 1. 数据库的发展历史分为哪几个阶段?各有什么特点? 答:从数据管理的角度看,数据库技术到目前共经历了人工管理阶段、文件系统阶段和数据库系统阶段。 人工管理阶段数据管理特点:数据不保存,没有对数据进行管理的软件系统,没有文件的概念,数据不具有独立性。 文件系统阶段数据管理特点:数据可以长期保存,由文件系统管理数据,文件的形式已经多样化,数据具有一定的独立性。 数据库系统阶段数据管理特点:采用复杂的结构化的数据模型,较高的数据独立性,最低的冗余度,数据控制功能。 2. 简述数据、数据库、数据库管理系统、数据库系统的概念。 答:数据是指描述事物的符号记录。人们通过数据来认识世界,交流信息。 数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程序;对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。 数据库管理系统(DataBase Management System,简称DBMS)是专门用于管理数据库的计算机系统软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行控制的功能,它位于用户和操作系统之间,是一层数据管理软件。 数据库系统(DataBase System,简称DBS)是指在计算机系统中引入了数据库后的系统,由计算机硬件、数据库、数据库管理系统、应用程序和用户构成,即由计算机硬件、软件和使用人员构成。 3. 使用数据库系统有什么好处? 答:简化管理,提高效率,提供安全。 4. 试述数据库系统的三级模式结构和二级映象的特点。 答:从数据库管理系统的角度看,数据库系统通常采用三级模式结构:外模式、模式和内模式。数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS 管理,使用户能逻辑地、抽象地处理数据。 为了实现这三个层次上的联系和转换,数据库系统在这三级模式中提供了两层映象:外模式/模式的映象和模式/内模式的映象。 5. 什么是数据与程序的逻辑独立性?什么是数据与程序的物理独立性? 答:对于每一个外模式,数据库都有一个外模式/模式的映象,它定义并保证了外模式与数据模式之间的对应关系。当模式改变时,外模式/模式的映象要作相应的改变以保证外模式保持不变。应用程序是根据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,即数据的逻辑独立性。 数据库的内模式依赖于它的全局逻辑结构,即模式。它定义并保证了数据的逻辑模式与内模式之间的对应关系。当数据库的存储结构改变了,模式/内模式的映象也必须作相应的修

关系数据库中的表不必具有的性质是什么

关系数据库中的表不必具有的性质是( ). A. 数据项不可再分 B. 同一列数据项要具有相同的数据类型 C. 记录的顺序可以任意排列 D. 字段的顺序不能任意排列 优质解答D.字段的顺序不能任意排列 1).Access数据库属于(C)数据库。 A)、层次模型 B)、网状模型 C)、关系模型 D)、面向对象模型 2).打开Access数据库时,应打开扩展名为(B)的文件。 A)、mda B)、mdb C)、mde D)、DBF 3).已知某一数据库中有两个数据表,它们的主关键字与主关键字之间是一个对应多个的关系,这两个表若想建立关联,应该建立的永久联系是(B)。 A)、一对一 B)、一对多 C)、多对多

D)、多对一 4).下列(B)不是Access数据库的对象类型? A)、表 B)、向导 C)、窗体 D)、报表 5).关系数据库中的表不必具有的性质是(D)。 A)、数据项不可再分 B)、同一列数据项要具有相同的数据类型 C)、记录的顺序可以任意排列 D)、字段的顺序不能任意排列 6).下列对于Access2000(高版本)与Access97(低版本)之间的说法不正确的是(C)。 A)、通过数据转换技术,可以实现高、低版本的共享. B)、高版本文件在低版本数据库中可以打开,但有些功能不能正常运行. C)、低版本数据库文件无法在高版本数据库中运行. D)、高版本文件在低版本数据库中能使用,需将高版本转换成低版本. 7).不能退出Access 2000的方法是(C)。 A)、单击"文件"菜单/"退出" B)、单击窗口右上角"关闭"按钮

C)、ESC D)、ALT+F4 8).Access在同一时间,可打开(A)个数据库。 A)、1 B)、2 C)、3 D)、4 9).对表中某一字段建立索引时,若其值有重复,可选择(D)索引。 A)、主 B)、有(无重复) C)、无 D)、有(有重复) 10).创建表时可以在(C)中进行。 A)、报表设计器 B)、表浏览器 C)、表设计器 D)、查询设计器 11).不能进行索引的字段类型是(A)。 A)、备注 B)、数值 C)、字符 D)、日期

数据库系统概论模拟题 含答案

1.数据库系统是采用了数据技术的计算机系统,数据库系统由数据库、数据库管理系统、应用系统和( C ) A.系统分析员 B.程序员 C.数据库管理员 D.操作员 3.下面列出的数不清管理技术发展的3个阶段中,没有专门的软 对数据进行管理的是D Ⅰ. 人工管理阶段 Ⅱ.文件系统阶段 Ⅲ.数据库阶段 A.Ⅰ和Ⅱ B.只有Ⅱ C.Ⅱ和Ⅲ D.只有Ⅰ 4.下列4项中,不属于数据库系统特点的是( C)。 A.数据共享 B.数据完整性 C.数据冗余度高 D.数据独立性高 5.数据库系统的数据独立性体现在( )。 A.不会因为数据的变化而影响到应用程序 B.不会因为数据存储结构与数据逻辑结构的变化而应有程序 C.不会因为存储策略的变化而影响存储结构 D.不会因为某些存储结构的变化而影响其他的存储结构 6.描述数据库全体数据的全局逻辑结构和特性的是( A )。 A.模式 B.内模式 C.外模式 7.要保证数据库的数据独立性,需要修改的是( C )。 A.模式与外模式 B.模式与内模式 C.三级模式之间的两层映像 D.三层模式 8.要何证数据库的逻辑数据独立性,需要修改的是(A )。 A.模式与外模式之间的映像 B.模式与内模式之间的映像C.模式 D.三级模式 9用户或应用程序看到的那部分局部逻辑结构和特征的描述是( C ) A.模式 B.物理模式 C.子模式 D.内模式10.下述( D )不是DBA数据库管理员的职责。 A.完整性约束说明 B. 定义数据库模式 C.数据库安全 D.数据库管理系统设计 11.概念模型是现实世界的第一层抽象,它一类模型中最著名的模型是( )。 A.层次模型 B.关系模型 C.网状模型 D.实体-联系模型 12.区分不同实体的依据是( B )。 A.名称 B.属性 C.对象 D.概念 13.关系数据模型是目前最重要的一种数据模型,它的3个要素分别是

数据库中表之间的关系

数据库中表之间的关系 表关系(一对一,一对多,多对多) 收藏 可以在数据库图表中的表之间创建关系,以显示一个表中的列与另一个表中的列是如何相链接的。 在一个关系型数据库中,利用关系可以避免多余的数据。例如,如果设计一个可以跟踪图书信息的数据库,您需要创建一个名为 titles 的表,它用来存储有关每本书的信息,例如书名、出版日期和出版社。您也可能保存有关出版社的信息,诸如出版社的电话、地址和邮政编码。如果您打算在 titles 表中保存所有这些信息,那么对于某出版社出版的每本书都会重复该出版社的电话号码。 更好的方法是将有关出版社的信息在单独的表,publishers,中只保存一次。然后可以在 titles 表中放置一个引用出版社表中某项的指针。 为了确保您的数据同步,可以实施 titles 和 publishers 之间的参照完整性。参照完整性关系可以帮助确保一个表中的信息与另一个表中的信息相匹配。例如,titles 表中的每个书名必须与 publishers 表中的一个特定出版社相关。如果在数据库中没有一个出版社的信息,那么该出版社的书名也不能添加到这个数据库中。 为了更好地理解表关系,请参阅: 定义表关系 实施参照完整性 定义表关系 关系的确立需要通过匹配键列中的数据(通常是两表中同名的列)。在大多数情况下,该关系会将一个表中的主键(它为每行提供了唯一标识)与另一个表的外部键中的某项相匹配。例如,通过创建 titles 表中的 title_id(主键)与 sales 表中的 title_id 列(外部键)之间的关系,则销售额就与售出的特定书名相关联了。 表之间有三种关系。所创建关系的类型取决于相关列是如何定义的。 一对多关系 多对多关系

数据库原理与应用-期末考试复习题

数据库原理期末考试复习题 一、单选题 1.在数据库中存储的是(C)。 A. 数据 B. 数据模型 C. 数据及数据之间的联系 D. 信息 2.现有一个“教师”表,其中一个字段是教师的住址(字符型,20位长),如果不希望此字段包含空值,即某位教师现没有住址,则希望此字段自动填入“还没有”,应该( C )。 A. 为此列创建一个check约束 B. 为此列创建一个foreign key约束 C. 为此列创建一个default约束 D. 为此列创建一个primary key约束3.数据库系统包括( D )。 A. DB、DBMS B. DB、DBA C. DB、DBMS、DBA、计算机硬件 D. DB、DBMS、DBA、OS、计算机硬件 4.假设同一名称的产品有不同的型号和产地,则计算每种产品平均单价的SQL语句是(D)。 A. SELECT 产品名称,AVG(单价) FROM 产品GROUP BY 单价 B. SELECT 产品名称,AVG(单价) FROM 产品ORDER BY 单价 C. SELECT 产品名称,AVG(单价) FROM 产品ORDER BY 产品名称 D. SELECT 产品名称,AVG(单价) FROM 产品GROUP BY 产品名称 5.数据库中,数据的物理独立性是指(C)。 A. 数据库与数据库管理系统的相互独立 B. 用户程序与DBMS的相互独立 C. 用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的 D. 应用程序与数据库中数据的逻辑结构相互独立 6.关系数据库规范化是为解决关系数据库中(B)问题而引入的。 A. 提高查询速度 B. 保证数据的安全性和完整性 C. 减少数据操作的复杂性 D. 插入异常、删除异常和数据冗余 7.当前数据库应用系统的主流数据模型是(C)。 A. 层次数据模型 B. 网状数据模型 C. 关系数据模型 D. 面向对象数据模型 8.如果两个实体集之间的联系是m:n,转换为关系时(B)。 A. 联系本身不必单独转换为一个关系 B. 联系本身必须单独转换为一个关系 C. 联系本身也可以不单独转换为一个关系 D. 将两个实体集合并为一个实体集9.候选码中的属性可以有(C)。 A. 0个 B. 1个 C. 1个或多个 D. 多个 10.下列关于关系性质的描述中正确的是(B )。 A. 关系中行的值可以相同 B. 关系中列的值可以相同 C. 关系中行的次序不可以交换 D. 关系中列的次序不可以交换 11.在SQL 语句中,与X BETWEEN 20 AND 30 等价的表达式是(B)。 A. X>20 AND X<30 B. X>=20 AND X<=30 C. X>20 AND X<=30 D. X>=20 AND X<30 12.数据库系统具有许多特点,使其很快成为数据处理的主要工具,下列哪个特点不是数据库系统的特点(B )。 A. 具有复杂的数据结构 B. 不存在数据冗余

数据库定义表之间关系(带图)

如何定义数据库表之间的关系 特别说明 数据库的正规化是关系型数据库理论的基础。随着数据库的正规化工作的完成,数据库中的 各个数据表中的数据关系也就建立起来了。 在设计关系型数据库时,最主要的一部分工作是将数据元素如何分配到各个关系数据表中。一旦完成了对这些数据元素的分类,对于数据的操作将依赖于这些数据表之间的关系,通过这些数据表之间的关系,就可以将这些数据通过某种有意义的方式联系在一起。例如,如果你不知道哪个用户下了订单,那么单独的订单信息是没有任何用处的。但是,你没有必要在同一个数据表中同时存储顾客和订单信息。你可以在两个关系数据表中分别存储顾客信息和订单信息,然后使用两个数据表之间的关系,可以同时查看数据表中每个订单以及其相关的客户信息。如果正规化的数据表是关系型数据库的基础的话,那么这些数据表之间的关系则 是建立这些基础的基石。 出发点 下面的数据将要用在本文的例子中,用他们来说明如何定义数据库表之间的关系。通过Boyce-Codd Normal Form(BCNF)对数据进行正规化后,产生了七个关系表: Books: {Title*, ISBN, Price} Authors: {FirstName*, LastName*} ZIPCodes: {ZIPCode*} Categories: {Category*, Description} Publishers: {Publisher*} States: {State*} Cities: {City*} 现在所需要做的工作就是说明如何在这些表之间建立关系。 关系类型 在家中,你与其他的成员一起存在着许多关系。例如,你和你的母亲是有关系的,你只有一位母亲,但是你母亲可能会有好几个孩子。你和你的兄弟姐妹是有关系的——你可能有很多兄弟和姐妹,同样,他们也有很多兄弟和姐妹。如果你已经结婚了,你和你的配偶都有一个配偶——这是相互的——但是一次只能有一个。在数据表这一级,数据库关系和上面所描述现象中的联系非常相似。有三种不同类型的关系: 一对一:在这种关系中,关系表的每一边都只能存在一个记录。每个数据表中的关键字在对应的关系表中只能存在一个记录或者没有对应的记录。这种关系和一对配偶之间的关系非常相似——要么你已经结婚,你和你的配偶只能有一个配偶,要么你没有结婚没有配偶。大多数的一对一的关系都是某种商业规则约束的结果,而不是按照数据的自然属性来得到的。如果没有这些规则的约束,你通常可以把两个数据表合并进一个数据表,而且不会打破任何规 范化的规则。

数据库试题及答案

数据库系统概论模拟试题(4) 一、填空题:02分,每题02分 1、如果事务T对数据D加了S锁,则在T释放D上的S锁以前,其他事务只能对D加()而不能加()。 二、单选题:20分,每题02分 2、要查询与“xx电大”的课程(c)相关的所有教授(p)的名字,可用如下OQL语句。 SELECT https://www.360docs.net/doc/7f1100260.html, FROM Prefessors p WHERE () c IN p.professorRelated: https://www.360docs.net/doc/7f1100260.html,=’xx电大’; A: ALL B: FOR ALL C: EXIST D: EXISTS 3、1.用户要执行语句 UPDATE Std SET(Grd=Grd+1) WHERE Grd=90 则这个用户必须拥有的数据库权限有()。 A: 插入权限 B: 修改权限 C: 查询权限 D: 删除权限 4、关系代数的五个基本操作可直接转换成元组关系演算表达式,它们是:并、差、投影,选择和() A: 交 B: 笛卡尔积 C: 自然连接 D: θ连接 5、SELECT 语句执行的结果是()。 A: 数据项 B: 元组 C: 表 D: 数据库 6、在SELECT 语句中使用A VG (属性名) 时, 属性名()。 A: 必须是数值型 B: 必须是字符型 C: 必须是数值型或字符型 D: 不限制数据类型 7、当选择满足一定条件的元组进行分组时,应使用的关键字是()。 A: SELECT B: GROUP C: WHERE

D: HA VING 8、一个学生可以同时借阅多本图书,一本图书只能由一个学生借阅,学生和图书之间为()的联系。 A: 1对1 B: 1对多 C: 多对多 D: 多对1 9、如果一个关系R中的所有非主属性都完全函数依赖于每个候选关键字,则称关系R属于()。 A: 2NF B: 3NF C: 4NF D: BCNF 10、现有学生关系Student,属性包括学号(Sno),姓名(Sname),所在系(Sdept),系主任姓名(Mname),课程名(Cname)和成绩(Grade)。这些属性之间包含如下联系:一个学号只对应一个学生;一个学生只对应一个系;一个系只对应一个系主任;一个学生的一门课只对应一个成绩;学生名可以重复;系名不重复;课程名不重复。则以下不正确的函数依赖是()。 A: SnoàSdept B: Sno à Mname C: Sname à Sdept D: Sno Cname àGrade 11、一个关系模式R{x1,x2,x3,x4},假定该关系存在着如下函数依赖:x1àx2,x1àx3,x3àx4 ,则该关系属于()。 A: 2NF B: 3NF C: 4NF D: BCNF 三、多选题:10分,每题02分 12、针对关系模式Product ( PNo, maker, model, type, price) 下列语句彼此之间等价的是() A : σprice>5000 (Product) B : P (a,b,c,d,e)Product (a,b,c,d,e) AND e>5000 C : {t1t2t3t4t5 | Product(t1t2t3t4t5) ∧t5>5000} D : {t | Product (t1t2t3t4t5) ∧t[5]>5000} 13、1.用户要执行语句 INSERT INTO Std (Name) SELECT Name FROM Class 则这个用户必须拥有的数据库权限有()。 A : 插入权限 B : 修改权限 C : 查询权限 D : 删除权限

数据库管理与应用练习3答案.doc

《数据库管理与应用》练习3答案 该作业请于11月30日前交回 一、选择题 二、填空题 1.数据库管理系统的主要功能有数据库定义功能、数据存取功能、数据库的运行管理和数据库的建立以及维护等4个方面。 2.数据库管理系统包含的主要程序有_语言翻译处理器①、系统运行控制程序②和实用程序_③。 3.数据库语言包括_汇编语言①和_高级语言_②两大部分,前者负责描述和定义数据库的各种特性,后者用于说明对数据进行的各种操作。 4.指出下列缩写的含义: (l)DML 数据操纵语言① (2)DBMS 数据库管理系统② (3)DDL 数据定义语言③ (4)DBS 数据库系统④ (5)SQL 结构化查询语言⑤ (6)DB 数据库_⑥ (7)DD 数据字典⑦ (8)DBA 数据库管理员⑧ 5.数据描述语言的作用是定义数据的存储结构,实现数据的结构化并保证数据的完整性和独立性。。 6.关系操作的特点是集合操作。 7.一个关系模式的定义格式为_关系名_。 8.一个关系模式的定义主要包括_关系名①、属性名②属性类型③属性长度④和关⑤。 关系数据库中可命名的最小数据单位是属性名或属性或字段或字段名9.。 10.关系模式是关系的元数①,相当于_记录格式_②。

11.在一个实体表示的信息中,称能为一标识实体的属性或属性组为关键字。12.关系代数运算中,传统的集合运算有_笛卡尔积①、并②、交③和差④。13.关系代数运算中,专门的关系运算有选择①、投影②和连接③。 14.关系数据库中基于数学上两类运算是_关系代数①和关系演算_②。 15.关系代数中,从两个关系中找出相同元组的运算称为_交运算。 16.己知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主关键字是系编号①,系关系的外关键字是与对应的属性值②,学生关系的主关键字是_学号_③,外关键字是_系编号_④。 17.传统的集合“并、交、差”运算施加于两个关系时,这两个关系的_属性个数①必须相等,与对应的属性值②必须取自同一个域。 18.SQL是_结构化查询语言_。 19.SQL语言的数据定义功能包括数据查询①、数据定义_②、数据操纵_③和数据控制④。 20.视图是一个虚表,它是从_一个或几个基本表_①中导出的表。在数据库中,只存放视图的定义②,不存放视图_所对应的数据_③。 21.设有如下关系表R、S和T; R(BH,XM,XB,DWH) S(DW,DWM) T(BH,XM,XB,DWH) (1)实现σDWH=’100’(R)的SQL语句是_SELECT * FROM T SELECT * FROM R WHERE DWH= ‘100’_①。 (2)实现∏XM,DWH(σXB=’女’(R))的SQL语句是_SELECT X,DWH EROM R WHERE XB=“女”_②。 (3)实现∏XM,XB,DWM(σXB=’男’(R*S))的SQL语句是__SELECT R,XM,R,XB,S,SWM FROM R,S WHERE R,DWH=S,DWH R AND R,XR=“男”_③。 22.设有如下关系表R、S和T; R(BH,XM,XB,DWH) S(DW,DWM) T(BH,XM,XB,DWH) (1)实现R ∪T的SQL语句是__SELECT XM,XB FEOM R UNION SELECT * FROM T _①。 (2)实现∏XM,XB (R)的SQL语句是_SELECT XM,XB FROM R ②。

数据库 考试大题

假设教学管理规定: ①一个学生可选修多门课,一门课有若干学生选修; ②一个教师可讲授多门课,一门课只有一个教师讲授; ③一个学生选修一门课,仅有一个成绩。 学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。 要求:根据上述语义画出ER图,要求在图中画出实体的属性并注明联系的类型; 解答: 三、应用题: 设有如下所示的关系S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)和SC(S#,C#,GRADE),试用关系代数表达式表示下列查询语句: (1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。 (2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)。 (3)检索至少选修“程军”老师所授全部课程的学生姓名(SNAME)。 (4)检索”李强”同学不学课程的课程号(C#)。 (5)检索至少选修两门课程的学生学号(S#)。 (6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。 (7)检索选修课程包含“程军”老师所授课程之一的学生学号(S#)。 (8)检索选修课程号为k1和k5的学生学号(S#)。 (9)检索选修全部课程的学生姓名(SNAME)。 (10)检索选修课程包含学号为2的学生所修课程的学生学号(S#)。 (11)检索选修课程名为“C语言”的学生学号(S#)和姓名(SNAME)。 解:本题各个查询语句对应的关系代数表达式表示如下: (1). ∏C#,CNAME(σTEACHER=‘程军’(C)) (2). ∏S#,SNAME(σAGE>21∧SEX=”男”(C)) (3). ∏SNAME{s? [∏S#,C#(sc)÷∏C#(σTEACHER=‘程军’(C))]} (4). ∏C#(C)- ∏C#(σSNAME=‘李强’(S) ? SC) (5). ∏S#(σ[1]=[4]∧[2]≠[5] (SC × SC)) (6). ∏C#,CNAME(C? (∏S#,C#(sc)÷∏S#(S))) (7). ∏S#(SC? ∏C#(σTEACHER=‘程军’(C))) (8). ∏S#,C#(sc)÷∏C#(σC#=’k1’∨ C#=’k5’(C)) (9). ∏SNAME{s? [∏S#,C#(sc)÷∏C#(C)]} (10). ∏S#,C#(sc)÷∏C#(σS#=’2’(SC)) (11). ∏S#,SNAME{s? [∏S#(SC? σCNAME=‘C语言’(C))]} 3、设有如下关系表R: R(No,NAME,SEX,AGE,CLASS) 主关键字是NO 其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。 写出实现下列功能的SQL语句。 ①插入一个记录(25,“李明”,“男”,21,“95031”);。 ②插入“95031”班学号为30、姓名为“郑和”的学生记录;。 ③将学号为10的学生姓名改为“王华”;。 ④将所有“95101”班号改为“95091”;。 ⑤删除学号为20的学生记录;。 ⑥删除姓“王”的学生记录;。 答案: ①INSERT INTO R VALUES(25,“李明”,“男”,21,“95031”) ②INSERT INTO R(NO,NAME,CLASS) VALUES(30,“郑和”,“95031”)

数据库系统原理课后习题参考答案

第一章数据库系统概述 选择题 B、B、A 简答题 1.请简述数据,数据库,数据库管理系统,数据库系统的概念。 P27 数据是描述事物的记录符号,是指用物理符号记录下来的,可以鉴别的信息。 数据库即存储数据的仓库,严格意义上是指长期存储在计算机中的有组织的、可共享的数据集合。 数据库管理系统是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。数据库系统是指在计算机中引入数据库技术之后的系统,包括数据库、数据库管理系统及相关实用工具、应用程序、数据库管理员和用户。 2.请简述早数据库管理技术中,与人工管理、文件系统相比,数据库系统的优点。 数据共享性高 数据冗余小 易于保证数据一致性 数据独立性高 可以实施统一管理与控制 减少了应用程序开发与维护的工作量 3.请简述数据库系统的三级模式和两层映像的含义。 P31 答: 数据库的三级模式是指数据库系统是由模式、外模式和内模式三级工程的,对应了数据的三级抽象。 两层映像是指三级模式之间的映像关系,即外模式/模式映像和模式/内模式映像。

4.请简述关系模型与网状模型、层次模型的区别。 P35 使用二维表结构表示实体及实体间的联系 建立在严格的数学概念的基础上 概念单一,统一用关系表示实体和实体之间的联系,数据结构简单清晰,用户易懂易用 存取路径对用户透明,具有更高的数据独立性、更好的安全保密性。 第二章关系数据库 选择题 C、C、D 简答题 1.请简述关系数据库的基本特征。P48 答:关系数据库的基本特征是使用关系数据模型组织数据。 2.请简述什么是参照完整性约束。 P55 答:参照完整性约束是指:若属性或属性组F是基本关系R的外码,与基本关系S的主码K 相对应,则对于R中每个元组在F上的取值只允许有两种可能,要么是空值,要么与S中某个元组的主码值对应。 3.请简述关系规范化过程。 答:对于存在数据冗余、插入异常、删除异常问题的关系模式,应采取将一个关系模式分解为多个关系模式的方法进行处理。一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式,这就是所谓的规范化过程。

相关文档
最新文档