1、创建[学生表]代码:
学生表(学号 char(6),姓名,性别,年龄,专业)
要求使用:主键(学号)、非空(姓名,专业)、检查(性别)
CREATE TABLE 学生表
(
学号 CHAR(6) PRIMARY KEY,
姓名 CHAR(10) NOT NULL,
性别 CHAR(2) NOT NULL CHECK (性别 IN ('男','女')),
年龄 INT,
专业 CHAR(20) NOT NULL
)
2、创建[选课表]代码:
选课表(ID,学号,课号,分数)
要求使用:外键(选课表.学号,选课表.课程号)、检查(分数),自动编号(ID)
CREATE TABLE 选课表
(
ID INT IDENTITY(1,1) NOT NULL,
学号 CHAR(6) NOT NULL FOREIGN KEY REFERENCES 学生表(学号),
课号 CHAR(10) NOT NULL FOREIGN KEY REFERENCES 课程表(课程号),
分数 INT CHECK (分数 BETWEEN(0,100))
)
3、将下列课程信息添加到课程表的代码
课程号 课程名 学分 先行课程号
100002 数据结构 2100001
修改 课程号为100003的课程名:SQL数据库
删除 课程号为100002的课程信息
INSERT INTO 课程表 (课程号,课程名,学分,先行课程号)VALUES ('100002','数据结构',2,'100001')
UPDATE 课程表 SET 课程名 = 'SQL数据库' WHERE 课程号 = '100003'
DELETE FROM 课程表 WHERE 课程号 = '100002'
4、写出创建:选课表视图(学号,姓名,课程号,课程名,学分,分数)的代码
CREATE VIEW UV_选课表_OnShow
AS
SELECT A.学号,A.姓名,C.课程号,C.课程名,C.学分,B.分数
FROM 学生表 AS A INNER JOIN 选课表 AS B ON A.学号 = B.学号
INNER JOIN 课程表 AS C ON B.课号 = C.课程号
现有关系数据库如下:
学生(学号,姓名,性别,专业,奖学金)课程(课程号,名称,学分)学习(学号,课程号,分数)用SQL实现:
(5)查询没有任何一门成绩在80分以下的所有学生的信息,包括学号、姓名和专业
SELECT 学生.学号,学生.姓名,学生.专业
FROM 学生,学习
WHERE 学生.学号 = 学习.学号
GROUP BY 学生.学号,学生.姓名,学生.专业
HAVING MIN(分数) >80
(6)对成绩得过满分(100分)的学生,如果没有获得奖学金的,将其奖学金设为1000
不知道没有获得奖学金的情况下,奖学金是多少,现假设是0
UPDATE 学生 SET 奖学金 = 1000 WHERE 学号 IN (SELECT 学生.学号
FROM 学生,学习
WHERE 学生.学号 = 学习.学号
GROUP BY 学生.学号
HAVING MAX(分数) = 100) and 奖学金 = 0
A.概念设计和逻辑设计
分析:
数据库设计的设计内容包括:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的实施和数据库的运行和维护。
概念设计
对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中诸处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。
所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。
以扩充的实体—(E-R模型)联系模型方法为例,第一步先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等,从而给出各部门内所用信息的局部描述(在数据库中称为用户的局部视图)。
第二步再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。
逻辑设计
主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果就是所谓“逻辑数据库”。
扩展资料:
数据结构设计形成过程:
需求分析阶段:综合各个用户的应用需求。
概念设计阶段:形成独立于机器特点,独立于各个DBMS产品的概念模式。
逻辑设计阶段:首先将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式;然后根据用户处理的要求、安全性的考虑,在基本表的基础上再建立必要的视图(View),形成数据的外模式。
物理设计阶段:根据DBMS特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。
参考资料来源:数据库设计-百度百科
前面是题,后面有答案不会的话加我QQ:1316641082 也可以来我网站 http://abaidu.svfree.net一、选择题( (1)~(35) 每题2分,共70分)
下列各题A) 、B) 、C) 、D) 四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)数据库(DB)、数据库系统(DBS)、数据库管理系统(DBMS)三者之间的关系是
A.DBS包括DB和DBMS
B.DBMS包括DB和DBS
C.DB包括DBS和DBMS
D.DBS就是DB,也就是DBMS
(2)在Visual FoxPro中“表”是指
A.报表
B.关系
C.表格
D.表单
(3)数据库系统与文件系统的最主要区别是
A.数据库系统复杂,而文件系统简单
B.文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决
C.文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件
D.文件系统管理的数据量较小,而数据库系统可以管理庞大的数据量
(4)在当前表单的LABEL1控件中显示系统时间的语句是
A.THISFORM.LABEL1.CAPTION=TIME()
B.THISFORM.LABEL1.VALUE=TIME()
C.THISFORM.LABEL1.TEXT=TIME()
D.THISFORM.LABEL1.CONTROL=TIME()
(5)在关系模型中,为了实现“关系中不允许出现相同元组”的约束应使用
A.临时关键字
B.主关键字
C.外部关键字
D.索引关键字
(6)在Visual FoxPro中创建项目,系统将建立一个项目文件,项目文件的扩展名是
A)pro
B.prj
C.pjx
D.itm
(7)在Visual FoxPro的项目管理器中不包括的选项卡是
A.数据
B.文档
C.类
D.表单
(8)在Visual FoxPro 中说明数组的命令是
A.DIMENSION和ARRAY
B.DECLARE和ARRAY
C.DIMENSION和DECLARE
D.只有DIMENSION
(9)数据库表可以设置字段有效性规则,字段有效性规则属于
A.实体完整性范畴
B.参照完整性范畴
C.数据一致性范畴
D.域完整性范畴
(10)在Visual FoxPro中字段的数据类型不可以指定为
A.日期型
B.时间型
C.通用型
D.备注型
(11)用命令“INDEX ON 姓名 TAG index_name UNIQUE”建立索引,其索引类型是
A.主索引
B.候选索引
C.普通索引
D.惟一索引
(12)以下关于主索引和侯选索引的叙述正确的是
A.主索引和侯索引都能保证表记录的惟一?BR>
B.主索引和侯选索引都可以建立在数据库表和自由表上
C.主索引可以保证表记录的惟一性,而侯选索引不能
D.主索引和侯选索引是相同的概念
(13)查询订购单号首字符是“P”的订单信息,应该使用命令
A.SELECT * FROM 订单 WHERE HEAD(订购单号,1)=“P”
B.SELECT * FROM 订单 WHERE LEFT(订购单号,1)= “P”
C.SELECT * FROM 订单 WHERE “P”$订购单号
D.SELECT * FROM 订单 WHERE RIGHT(订购单号,1)= “P”
(14)有如下赋值语句,结果为“大家好”的表达式是
a=“你好”
b=“大家”
A.b+AT(a,1)
B.b+RIGHT(a,1)
C.b+ LEFT(a,3,4)
D.b+RIGHT(a,2)
(15)数据库表的字段可以定义默认值,默认值是
A.逻辑表达式
B.字符表达式
C.数值表达式
D.前三种都可能
(16)数据库的字段可以定义规则,规则是
A.逻辑表达式
B.字符表达式
C.数值表达式
D.前三种说法都不对
(17)在SQL语句中,与表达式“供应商名 LIKE” %北京%“”功能相同的表达式是
A.LEFT(供应商名,4)=“北京”
B.“北京”$供应商名
C.供应商名IN“%北京%”
D.AT(供应商名,“北京”)
(18)使数据库表变为自由表的命令是
A.DROP TABLE
B.REMOVE TABLE
C.FREE TABLE
D.RELEASE TABLE
(19)在Visual FoxPro的查询设计器中“筛选”选项卡对应的SQL短语是
A.WHERE
B.JOIN
C.SET
D.ORDER BY
(20)SQL支持集合的并运算,在Visual FoxPro中SQL并运算的运算符是
A.PLUS
B.UNION
C.+
D.U 来(21)根据“职工”项目文件生成emp_sys.exe应用程序的命令是
A.BUILD EXE emp_sys FROM 职工
B.DUILD APP emp_sys.exe FROM 职工
C.LINK EXE emp_sys FROM 职工
D.LINK APP emp_sys FROM 职工
(22)如果指定参照完整性的删除规则为“级联”,则当删除父表中的记录时
A.系统自动备份父表中被删除记录到一个新表中
B.若字表中有相关记录,则禁止删除父表中记录
C.会自动删除子表中所有相关记录
D.不作参照完整性检查,删除父表记录与子表无关
(23)以下关于关系的说法正确的是
A.列的次序非常重要
B.当需要索引时列的次序非常重要
C.列的次序无关紧要
D.关键字必须指定为第一列
(24)为了在报表中打印当前时间,这时应该插入一个
A.表达式控件
B.域控件
C.标签控件
D.文件控件
(25)在Visual FoxPro中释放和关闭表单的方法是
A.RELEASE
B.CLOSE
C.DELETE
D.DROP
(26)为了从用户菜单返回到系统菜单应该使用命令
A.SET DEFAULT SYSTEM
B.SET MENU TO DEFAULT
C.SET SYSTEM TO DEFAULT
D.SET SYSMENU TO DEFAULT
(27)在表单中为表格控件指定数据源的属性是
A.DataSource
B.RecordSource
C.DataFrom
D.RecordFrom
(28)以下关于表单数据环境叙述错误的是
A.可以向表单数据环境设计器中添加表或视图
B.可以从表单数据环境设计器中移出表或视图
C.可以在表单数据环境设计器中设置表之间的关系
D.不可以在表单数据环境设计器中设置表之间的关系
(29)以下关于查询描述正确的是
A.不能根据自由表建立查询
B.只能根据自由表建立查询
C.只能根据数据库表建立查询
D.可以根据数据库表和自由表建立查询
第(30)-(35)题使用如下三个表:
部门.DBF:部门号C(8),部门名C(12),负责人C(6),电话C(16)
职工.DBF:部门号C(8),职工号C(10),姓名C(8),性别C(2),出生日期D
工资.DBF:职工号C(10),基本工资N(8.2),津贴N(8.2),奖金N(8.2),扣除N(8.2)
(30)查询职工实发工资的正确命令是
A.SELECT 姓名,(基本工资+津贴+奖金-扣除)AS 实发工资 FROM 工资
B.SELECT 姓名,(基本工资+津贴+奖金-扣除)AS 实发工资 FROM 工资WHERE 职工.职工号=工资.职工号
C.SELECT 姓名,(基本工资+津贴+奖金-扣除)AS 实发工资FROM 工资职工 WHERE 职工.职工号=工资.职工号
D.SELECT 姓名, (基本工资+津贴+奖金-扣除)AS 实发工资FROM 工资JOIN 职工 WHERE 职工.职工号=工资. 职工号源:考试大-计算机二级考试
(31)查询1962年10月27日出生的职工信息的正确命令是
A.SELECT*FROM 职工 WHERE 出生日期={^1962-10-27}
B.SELECT*FROM 职工 WHERE 出生日期=1962-10-27
C.SELECT*FROM 职工 WHERE 出生日期=“1962-10-27”
D.SELECT*FROM 职工 WHERE 出生日期=(“1962-10-27”)
(32)查询每个部门年龄最长者的信息,要求得到的信息包括部门名和最长者的出生日期。 正确的命令是
A.SELECT 部门名,MIN(出生日期)FROM 部门 JOIN 职工ON 部门.部门号=职工.部门号 GROUP BY 部门名
B.SELECT 部门名,MAX(出生日期)FROM 部门 JOIN 职工ON 部门.部门号=职工.部门号 GROUP BY 部门名
C.SELECT 部门名,MIN(出生日期)FROM 部门 JOIN 职工WHERE 部门.部门号=职工.部门号 GROUP BY 部门名
D.SELECT 部门名,MAX(出生日期)FROM 部门 JOIN 职工WHERE 部门.部门号=职工.部门号 GROUP BY 部门名
(33)查询有10名以上(含10名)职工的部门信息(部门名和职工人数),并按职工人数降序排列。正确的命令是
A.SELECT 部门名,COUNT(职工号)AS 职工人数
FROM 部门,职工 WHERE 部门.部门号=职工.部门号
GROUP BY 部门名 HAVING COUNT(*)>=10
ORDER BY COUNT(职工号)ASC
B.SELECT 部门名,COUNT(职工号)AS 职工人数
FROM 部门,职工 WHERE 部门.部门号=职工.部门号
GROUP BY 部门名 HAVING COUNT(*)>=10
ORDER BY COUNT(职工号)DESC
C.SELECT 部门名,COUNT(职工号)AS 职工人数
FROM 部门,职工WHERE 部门.部门号=职工.部门号
GROUP BY 部门名 HAVING COUNT(*)>=10
ORDER BY 职工人数 ASC
D.SELECT 部门名,COUNT(职工号)AS 职工人数
FROM 部门,职工WHERE 部门.部门号=职工.部门号
GROUP BY 部门名 HAVING COUNT(*)>=10
ORDER BY 职工人数 DESC
(34)查询所有目前年龄在35岁以上(不含35岁)的职工信息(姓名、性别和年龄),正确的命令是
A.SELECT 姓名,性别,YEAR(DATE())-YEAR(出生日期)年龄 FROM 职工
WHERE 年龄>35
B.SELECT 姓名,性别,YEAR(DATE())-YEAR(出生日期)年龄 FROM 职工
WHERE YEAR(出生日期)>35
C.SELECT 姓名,性别,YEAR(DATE())-YEAR(出生日期)年龄 FROM 职工
WHERE YEAR(DATE())-YEAR(出生日期)>35
D.SELECT 姓名,性别,年龄=YEAR(DATE())-YEAR(出生日期)FROM 职工
WHERE YEAR(DATE())-YEAR(出生日期)>35
(35)为“工资”表增加一个“实发工资”字段的正确命令是
A.MODIFY TABLE 工资 ADD COLUMN 实发工资 N(9,2)
B.MODIFY TABLE 工资 ADD FIELD 实发工资 N(9,2)
C.ALTER TABLE 工资 ADD COLUMN 实发工资 N(9,2)
D.ALTER TABLE 工资 ADD FIELD 实发工资 N(9,2)
二、填空题( 每空2分,共30分)
请将每一个空的正确答案写在答题卡(1)~(15)序号的横线上,答在试卷上不得分。注意:以命令关键字填空的必须拼写完整
(1)使用数据库设计器为两个表建立联系,首先应在父表中建立( ) 索引,在子表中建立( )索引。
(2)常量 .n.表示的是( )型的数据。
(3)在Visual FoxPro中参数传递的方式有两中,一种是按值传递,另一种是按引用传递,
将参数设置为按引用传递的语句是:SET UDFPARMS ( )
(4)运行表单时,Load事件是在Init事件之( )被引发。
(5)如下程序的输出结果是( ).
i=1
DO WHILE i<10
i=i+2
ENDDO
i
第(6)~(9)题使用如下三个表
零件.DBF:零件号C(2),零件名称C(10),单价N(10),规格C(8)
使用零件.DBF:项目号C(2),零件号C(2),数量I
项目.DBF:项目号C(2),项目名称C(20),项目负责人C(10),电话C(20)东方教育网提供 www.eastedu.com.cn" target="_blank">http://www.eastedu.com.cn
(6)为“数量”字段增加有效性规则:数量>0,应该使用的SQL语句是
( )TABLE使用零件( )数量SET( )数量>0
(7)查询与项目“s1”(项目号)所使用的任意一个零件相同的项目号、项目名称、零件号和零件名称,使用的SQL语句是
SELECT 项目.项目号,项目名称,使用零件.零件号,零件名称
FROM 项目,使用零件,零件WHERE 项目.项目号=使用零件.项目号( )
使用零件.零件号=零件.零件号 AND 使用零件.零件号( )
(SELECT 零件号 FROM 使用零件 WHERE 使用零件.项目号=‘s1’)
(8)建立一个由零件名称、数量、项目号、项目名称字段构成的视图,视图中只包含项目号为“s2”的数据,应该使用的SQL语句是
CREATE VIEW item_view ( )
SELECT 零件.零件名称,使用零件.数量,使用零件.项目号,项目.项目名称
FROM 零件 INNER JOIN 使用零件
INNER JOIN ( )
ON 使用零件.项目号=项目.项目号
ON 零件.零件号=使用零件.零件号
WHERE 项目.项目号=‘s2’
(9)从上一题建立的视图中查询使用数量最多的2个零件的信息,应该使用的SQL语句是
SELECT* ( ) 2 FROM item_view ( ) 数量DESC.
一、选择题((1)—(35)每小题2分 共70分)
(1)A (2) B (3)B (4) A (5) B
(6) C (7) D (8)C (9) D(10) B
(11)D (12) A (13) B (14)D (15)D
(16)A (17)B (18)B (19)A (20) B
(21) A (22)C (23)C (24)B (25) A
(26) D(27) B (28)D (29) D (30) C
(31) A(32)A (33) D (34) C (35) C
二、填空题(每空2分,共30分)
〖1〗 主
〖2〗 普通
〖3〗 逻辑
〖4〗 TO REFERENCE
〖5〗 前
〖6〗11
〖7〗 ALTER
〖8〗 ALTER
〖9〗 CHECK
〖10〗 AND
〖11〗 IN
〖12〗 AS
〖13〗项目
〖14〗TOP
〖15〗 ORDER BY
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)