SQL数据库编程基础以及实例

SQL数据库编程基础以及实例
SQL数据库编程基础以及实例

实验须知

⒈实验前,请认真阅读本次实验的全部内容,明确实验目的和实验任务,做好必要的实验准备。遇到较为复杂的程序应事先设计算法,可能的话,应写出程序代码。

⒉实验前,应注意收集平时学习中遇到的疑点,留作实验中验证、解决。

⒊提前五分钟以上进入实验室,不得迟到。

⒋实验中积极思考、及时记录,有新的发现、新的收获或新的疑问的,及时记录,争取当堂完成实验报告。

⒌珍惜实验时间,不开小差、不做与实验无关的事,更不得打游戏、

或上网聊天;如需要上网查阅资料的,应事先征得实验老师的同意。

⒍保持实验室安静和清洁卫生,不得大声喧哗;不得在实验室吃东西。

⒎实验结束时,整理好台桌和凳子,关闭电脑及显示器,安排值日同学,打扫实验室卫生。

⒏实验报告应字迹工整,标点符号准确无误;书写程序时应使用缩进格式,必要时还可以添加适当的注释,增强程序的可读性。

⒐如实认真填写问题解决与实验收获两部分,如果问题还未解决,也应将问题记下,留作今后解决。

目录

实验须知.............................................................................................................................. I 目录...................................................................................................................................... I 实验一、SQLServer2005的认识.. (1)

实验二数据库创建 (8)

实验三数据表结构的建立与维护 (11)

实验四数据查询 (13)

实验五数据表的操作 (17)

实验六视图 (19)

实验七索引、约束、规则 (24)

实验八Transact-SQL语句的使用 (27)

实验九存储过程和触发器 (30)

实验一、SQLServer2005的认识实验日期:______年______月______日成绩:_____________ 一、实验目的

1.了解SQL Server 2005特点

2.了解SQL Server 2005的安装

3.学习配置SQL Server服务器

二、实验内容

1、SQL Server 2005对硬件环境的要求

(1)处理器、内存要求

32 位平台上需要 PentiumⅢ兼容处理器或更高速度的处理器,最低

处理器速度为600MHZ(推荐1GB或者更快),最小内存 512MB(推荐 1GB或者更大)。

64 位平台,IA64 的需要 Itanium或更高级的处理器,最低处理器

速度 1GB 或者更快,最小内存 512MB(推荐 1GB 或者更大)。X64需要AMD Opteron、 AMD Athlon64、支持 Intel EM64T 技术的 Intel Xenon或支持 EM64T 技术的 Interl PentiumⅣ处理器,最小处理器速度1GHz或者更大,最小内存 512MB(推荐 1GB 或者更大)。

(2)磁盘空间要求

在安装 SQL Server 2005 的过程中, Windows Installer 将在系统驱动器上创建临时文件。在运行安装程序以安装或升级到 SQL Server 2005 前,请验证系统的驱动器上有 1.6GB 的可用磁盘空间来容纳这些文件,即使将 SQL Server组件安装到非默认驱动器上,此要求同样适用。

2、对操作系统的要求

3、对Internet的要求

4、基本安装过程

(1) 将 SQL Server 2005 安装光盘插入光驱后,将出现如图 5-1 所示的安装启动对话框。

(2) 单击“安装”下的“服务器组件、工具、联机丛书和示例”,出现如图 5-2 所示的对话框,选择“我接受许可条款和条件”选项。

(3) 单击“下一步”按钮,出现如图5-3所示的对话框。在对话框中列出了安装SQL Server 2005 前必先安装的 4 个组件(如果已经安装则不会显示)。单击“安装”按钮,开始安装和

配置这 4 个组件。

(4) 全部安装成功后,会出现如图 5-4 所示的对话框。

(5) 单击“下一步”按钮,打开如图 5-5 所示的对话框。

(6) 单击“下一步”按钮,在如图 5-6 所示的对话框中,将检查系统中是否有潜在的安装问题(例如检查操作系统、计算机的硬件配置等是

否满足安装的最低要求),并对不满足安装要求的软硬件配置发出警告。

如果符合要求就显示“成功”;若不满足要求则显示“警告”,但是不影响继续安装;若显示“错误”,对话框中的“下一步”按钮不能单击,也就

是无法安装数据库系统。

(7) 单击“下一步”按钮,安装程序进行一些必要的准备工作后,

出现如图 5-7 所示的对话框,填写注册信息。

(8) 单击“下一步”按钮,出现如图 5-8 所示的对话框,在此选择要安装的组件。

(9) 单击“下一步”按钮,出现如图 5-9 所示的对话框,用于设置服务器的实例名,一般情况下选择“默认实例”,但也可以选择“命名实例”,表示为服务器命名。

(10) 单击“下一步”按钮,出现如图5-10 所示的对话框。可以为每个服务定义不同的账户,也可以为所有的账户定义统一的登录账户;可以使用系统内置的账户,也可以使用域用户账户。

(11) 单击“下一步”按钮,出现如图 5-11 所示的对话框。

(12) 在排序规则设置时,指定 SQL Server实例的排序方式。一般采用默认设置,单击“下一步”按钮,打开如图5-12 所示的对话框,取消选择复选框将禁止向 Microsoft发送错误报告,或者任意选择一个。

(13) 单击“下一步”按钮,打开如图 5-13 所示的对话框,列出用户选择的安装组件。

(14) 单击“安装”按钮,打开如图 5-14 所示的对话框,开始安装SQL Server 2005的选定组件。安装过程可能持续比较长的时间。

(15) 单击“下一步”按钮,打开如图 5-15 所示的对话框。这时单击“完成”按钮就成功安装了 SQL Server 2005。

5、启动 SQL Server Management Studio

操作步骤如下:

(1) 选择“开始”菜单上的“程序” | Microsoft SQL Server 2005 | SQL Server Management Studio 命令,弹出“连接到服务器”对话框,如图5-23 所示。

(2) SQL Server Management Studio 提供数据库引擎、Analysis Services、Reporting Services、SQL Server Mobile和Integration Services五种服务器类型,这里选择服务器类型为“数据

库引擎”。

(3) 如果是第一次启动SQL Server Management Studio,需要选择

登录账户。单击“服务器名称”文本框后面的下拉箭头,选择“浏览更多”命令,弹出“查找服务器”对话框。如图 5-24 所示,在“本地服务器”

本地计算机名选项卡中,选择“数据库引擎”选项的登录账户COMPUTER(

称 COMPUTER),或打开“网络服务器”选项卡查找网络上服务器并进行选择。

(4) 选择“身份验证”方式,Windows身份验证或 SQL Server身份验证,输入登录名和密码。

(5) 单击“连接”按钮,进入 Microsoft SQL Server Management Studio 窗口,如图 5-25所示。

三、实验思考

安装完SQL Serve后,系统创建哪两个系统管理员登录账户?

安装完SQL Serve后,会自动创建两个系统管理员登录账户:一个是

基于Windows认证模式的账户BUILTIN\Administrators,另一个是基于SQL Server 认证模式的账户sa,sa 拥有最高的管理权限,可以执行服务器范围内的所有操作。sa 也把全部权限赋给BUILTIN\Administrators 账户,使BUILTIN\Administrators 与sa 具有同等权限。

四、实验小结

实验二数据库创建

实验日期:______年______月______日成绩:_____________

一、实验目的

1.掌握修改数据库的逻辑名和物理名

2.掌握向数据库中增加文件、删除文件

3.掌握把数据库文件备份和还原

二、实验内容

1、创建学生信息数据库

要求创建学生信息数据库。数据库选项采取默认设置。

CREATE DATABASE student

ON

(NAME =student_data,

FILENAME ='c:\student_data.mdf'

)

LOG ON

(NAME =student_log,

FILENAME ='c:\student_data.ldf')

2、创建职工信息数据库

要求创建职工信息数据库,并把数据库文件和事务日志文件放在指定

目录下。

CREATE DATABASE employee

ON

(NAME =employee_data,

FILENAME ='d:\mssql\data\employee_data.mdf'

)

LOG ON

(NAME ='employee_log',

FILENAME ='d:\mssql\data\employee_data.ldf')

3.修改学生信息数据库

在上次创建学生信息数据库时,除了数据库名需要指定外,其他均采用SQL Sever 2000默认设置,其数据文件属性默认设置为按10%增长,现在要将其修改为按1MB进行增长。

ALTER DATABASE student

MODIFY FILE(NAME='student_data',

filegrowth=1mb)

GO

4.修改职工信息数据库

修改上次创建的数据库employee,添加一个次数据库文件。次数据

库文件名为“employee_Data2.NDF”。该文件的扩充增容模式采取按10%增长,即采取默认设置。

USE MASTER

GO

ALTER DATABASE Employee

ADD FILE

(NAME=employee2_Data2,

FILENAME='D:\MSSQL\Data\employee2_Data2.ndf',

FILEGROWTH=10%)

GO

5.Drop语句删除数据库(Drop database数据库名)

删除Student1数据库

Drop database Student1

三、实验思考

数据文件分为哪几类?分别有何作用?

数据文件分为下述 3 类。

(1) 主要数据文件(.MDF):主要存放数据库的启动信息,并用于存储数据。每个数据库有且仅有一个主要数据文件。

(2) 次要数据文件(.NDF):次要数据文件也是用来存储数据的,它含有不能置于主要数据文件中的所有数据。如果主要数据文件可以包含数据库中的所有数据,那么数据库就不需要次要数据文件。如果数据库很大,

主要数据文件的容量超过了系统的限制,就需要设置一个或多个次要数据文件,并将它们放在不同的磁盘上。

(3) 事务日志文件(.LDF):主要包含用于恢复数据库的所有日志信息,这使得数据库出现故障或崩溃时可以把它恢复到最近状态,从而最大限度的减少由此带来的损失。每个数据库中必须至少包含一个日志文件,

也可以有多个日志文件。

四、实验小结

实验三数据表结构的建立与维护

实验日期:______年______月______日成绩:_____________ 一、实验目的

1.熟悉SQL SERVER 中的数据类型。

2.掌握表结构的建立和维护方法。

3.掌握索引的建立与删除

二、实验内容

1、利用SQL语句完成创建“stu_info”(学生基本信息表)。

CREATE TABLE stu_info

(

stu_id CHAR(7) NOT NULL PRIMARY KEY,

name VARCHAR(8) NOT NULL,

sex CHAR(2) CHECK (sex='男' or sex='女'),

borndate SMALLDATETIME,

peop_id VARCHAR(18) NULL UNIQUE,

class_id CHAR(5) NOT NULL)

2、利用SQL语句完成创建学生成绩表(result_info),

CREATE TABLE result_info

(

term_no CHAR(8) NOT NULL,

stu_id CHAR(7) NOT NULL,

course_no CHAR(3) NOT NULL,

result SMALLINT CHECK (result between -1 and 100) DEFAULT -1,

PRIMARY KEY (term_no,stu_id,course_no),

FOREIGN KEY (stu_id) REFERENCES stu_info(stu_id) )

3、向stu_info数据表中添加“comedate”(入学日期)字段。

ALTER TABLE stu_info ADD comedate SMALLDATETIME NULL

4、将stu_info数据表中的“name”字段的数据类型修改为varchar (10),完整性约束修改为“允许为空”。

ALTER TABLE stu_info ALTER COLUMN name VARCHAR(10) NULL

5、将stu_info数据表中的“comedate”字段删除。

ALTER TABLE stu_info DROP COLUMN comedate

6、删除stu_info表

DROP TABLE stu_info

7、为学生基本信息表(stu_info)建立索引,要求按学号升序建立

唯一索引。

CREATE UNIQUE INDEX stu_in ON stu_info(stu_id)

8、为学生成绩表(result_info)建立索引,要求按学期编号升序、课程编号和学号降序建立唯一索引。

CREATE UNIQUE INDEX res_in ON result_info

(term_no ASC, course_no DESC, stu_id DESC)

9、删除学生成绩表(result_info)中的索引“res_in”。

DROP INDEX result_info.res_in

三、实验思考

1、唯一性约束有什么什么作用?与主键约束有何区别?

唯一性约束指定表的一列或多列的组合的值在表中具有唯一性,以防止在列中输入重复的值。主键约束与唯一性约束的区别是:

(1) 在一个表中只能定义一个主键约束,但可定义多个唯一性约束。

(2) 指定为主键约束的列不能取空值,但指定为唯一性约束的列允许取空值。

2、CHECK约束有什么作用?

CHECK 约束用于限制输入到一列或多列的值的范围,保证数据库的数据完整性。

四、实验小结

实验四数据查询

实验日期:______年______月______日成绩:_____________

一、实验目的

1.掌握SELECT语句的参数的含义

2.掌握SELECT语句的各参数的设置

3.掌握SELECT数据查询的使用

二、实验内容

1、显示“stu_info”表中的“stu_id”、“class_id”和“name”字段。

SELECT stu_id,class_id,name FROM stu_info

2、显示“stu_info”表中的所有字段。

SELECT * FROM stu_info

3、显示“stu_info”表中的“stu_id”、“name”和“sex”字段。字段名称分别指定为“学号”、“姓名”和“性别”。

SELECT stu_id AS 学号,name 姓名,性别=sex FROM stu_info

4、显示“stu_info”表中的所有学生的姓名和年龄。

SELECT name AS 姓名,year(getdate())-year(borndate) as 年龄from stu_info

5、显示“stu_info”表中的所有学生的姓名和身份证号。

SELECT name AS 姓名,'身份证号:',peop_id AS 身份证号

FROM stu_info

6、显示“stu_info”表中的所有学生的班级编号。

SELECT ALL class_id FROM stu_info

(或者) SELECT class_id FROM stu_info

去掉重复记录的语句为:

SELECT DISTINCT class_id FROM stu_info

只显示前三个班级的编号的语句:

SELECT TOP 3 class_id FROM stu_info

7、显示“stu_info”表中所有男生的记录。

SELECT * FROM stu_info WHERE sex='男'

8、显示“stu_info”表中所有班级编号不是“07001”的学生记录。

SELECT * FROM stu_info WHERE class_id<>'07001'

9、显示“stu_info”表中所有1988年出生的男生记录。

SELECT * FROM stu_info WHERE sex='男' and

year(borndate)=1988

10、显示“stu_info”表中班级编号为“07001”或者性别为女生的

学生记录。

SELECT * FROM stu_info WHERE sex='女' OR

class_id='07001'

11、显示“stu_info”表中户籍不是天津市的学生记录。

SELECT * FROM stu_info WHERE NOT

substring(peop_id,1,3)='120'

12、显示“stu_info”表中所有姓“张”的学生记录。

SELECT * FROM stu_info WHERE name LIKE '张%'

13、显示“stu_info”表中所有姓“张”和姓“李”的学生记录。

SELECT * FROM stu_info WHERE name l ike '张%' or name l ike '李%'

(或者)SELECT * FROM stu_info WHERE name like '[张,李]%'

14、显示“stu_info”表中年龄在18至20岁之间的学生的姓名和性别。

SELECT name,sex FROM stu_info

WHERE year(getdate())-year(borndate) BETWEEN 18 AND 20

15、显示“stu_info”表中身份证号码内容为空的学生记录。

SELECT * FROM stu_info WHERE peop_id IS NULL

16、显示“stu_info”表中班级编号为“07001”和“07002”的学生记录。

SELECT * FROM stu_info WHERE class_id='07001' OR

class_id='07002'

(或者)SELECT * FROM stu_info WHERE class_id IN

(07001,07002)

17、显示“stu_info”表中班级编号不是“07001”和“07002”的学生记录。

SELECT * FROM stu_info WHERE class_id NOT IN (07001,07002)

(或者) SELECT * FROM stu_info WHERE NOT class_id IN (07001,07002)

18、显示“stu_info”表中的学生记录,查询结果按姓名进行升序排序。

SELECT * FROM stu_info ORDER BY name

19、显示“stu_info”表中的学生记录,查询结果按班级编号进行升序排序,同一班级的学生按照学号降序排序。

SELECT * FROM stu_info ORDER BY class_id,stu_id DESC

20、统计“stu_info”表中各班的人数,在查询结果中显示班级编号和该班人数。

SELECT class_id as 班级编号,count(class_id) as 人数

FROM stu_info GROUP BY class_id

21、将“stu_info”表中总人数大于或等于2人的班级编号和人数显示出来。

SELECT class_id as 班级编号,count(class_id) as 人数

FROM stu_info GROUP BY class_id HAVING

count(class_id)>=2

22、查询每个学生的基本情况和每门课程的成绩。

SELECT stu_info.*,result_info.*

FROM stu_info,result_info

WHERE stu_info.stu_id=result_info.stu_id

23、查询每个学生每门课程的成绩,结果表中要显示“course_info”(课程信息表)中的课程名称等内容。

SELECT stu_info.*,course_info.*,result_info.*

FROM stu_info,course_info,result_info

WHERE stu_info.stu_id=result_info.stu_id AND

result_info.course_no=course_info.course_no

24、查询每个学生每门课程的成绩,结果表中只显示学号、姓名、学

期编号、课程编号和成绩几个字段。

SELECT stu_info.stu_id,name, term_no,course_no,result

FROM stu_info,result_info

WHERE stu_info.stu_id=result_info.stu_id

25、查询选修了课程编号为“001”的课程的学生的基本信息。

SELECT * FROM stu_info

WHERE stu_id IN

(SELECT stu_id FROM result_info

WHERE course_no='001')

26、查询与“张三”同班的学生信息。

SELECT * FROM stu_info

WHERE class_id=(SELECT class_id FROM stu_info WHERE

name='张三')

三、实验思考

嵌套查询有何特点?

(1) 每级查询的from 子句一般只包含一个表名。

(2) 一个嵌套查询总可以分解为若干个单表查询,总可以改写成连接查询。

(3) 若查询结果显示的属性名来自一个表,才可以写成嵌套查询。

(4) 子查询不能使用order by 子句,order by 只能用于最顶层的查询。

四、实验小结

实验五数据表的操作

实验日期:______年______月______日成绩:_____________

一、实验目的

1、掌握记录插入的方法。

2、掌握记录修改的方法。

3、掌握记录删除的方法。

二、实验内容

1、在 student 表中插入一行新记录,学号为95006,姓名为李光荣,性别为男,年龄为21,系为CS。

INSERT INTO student VALUES('95006','李光荣','男','21','CS')

2、95006 号学生选修了 4 号课程,但尚无成绩。在sc 表中插入该信息。

INSERT INTO sc(sno,cno) VALUES('95006','4')

3、建立一个表student1,其结构与student 表相同。将表student 表中CS 系的学生信息复制到student1 表中。

INSERT INTO student1 SELECT * FROM student WHERE sdept='CS'

4、将表student 中IS 系的学生的学号、姓名和系别复制到student1 表中。

INSERT INTO student1(sno,sname,sdept)

5、将 student 表中所有学生的年龄增加 1 岁。

UPDATE student SET sage=sage+1

6、将 student 表中所有系别CS 改为“计算机科学系”

UPDATE student SET sdept='计算机系 'WHERE sdept='CS'

7、将计算机科学系全体学生的成绩置0。

UPDATE sc SET grade=0

WHERE sno in(SELECT sno FROM student WHERE sdept='CS')

8、删除表student 中所计算机系的学生信息。

DELETE FROM student WHERE sdept='计算机系'

9、删除计算机科学系所有学生的选课记录。

DELETE FROM sc

WHERE sno in(SELECT sno FROM student WHERE sdept='CS')

三、实验思考

1、INSERT 语句的作用是什么?

INSERT 语句用于向已经存在的表中插入新的数据,可以直接在INSERT 语句中指定插入的数据,一次只能插入一行数据;也可以插入子

查询的结果,一次可以插入若干行数据。

2、DELETE语句和DROP语句有何区别?

DELETE语句操作是针对表记录的,DROP语句操作对象是数据库、表、视图、存储过程、触发器等。

四、实验小结

Access数据库应用基础教程(第三版)习题及答案

Access数据库应用基础教程(第三版)习题集答案 第1章数据库系统概述 1. 什么是数据库?什么是数据库系统?答:数据库(database)是存放数据的仓库,严格的讲,数据库是长期存储在计算机内,有组织的,可共享的大量数据集合。 数据库系统(database systems),是由数据库及其管理软件组成的系统。它是为适应数据处理的需要而发展起来的一种较为理想的数据处理的核心机构。它是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。 2. 什么是数据库管理系统?它有哪些主要功能? 答:数据库管理系统(database management system)是一种操纵和管理数据

库的大型软件,用于建立、使用和维护数据库,简称dbms。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。数据库管理系统的主要功能有:数据定义、数据操作、数据库的运行管理、数据组织、数据库的保护、数据库的维护和通信。 3. 说出几种常用的数据模型。 答:层次模型、网状模型、关系模型。4. 什么是关系模型? 答:关系模型是用二维表的形式表示实体和实体间联系的数据模型。 5. 简述数据库设计的步骤。 答:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的建立和测试、数据库运行和维护。 第2章 SQL 语言简介 1. 什么是SQL语言?SQL语言具有哪些特点和功能? 答:SQL是一种数据库查询和程序设计语言,用于存取数据以及查询更新和管理关系

数据库系统。 SQL的特点和功能有:查询,操作,定义和控制四个方面,SQL语言具有高度的非过程化,语言简洁,语义明显,语法结构简单,直观易懂的特点。SQL语言即可以作为独立语言使用,用户可以在终端键盘上直接键入SQL命令对数据库进行操作,也可以作为嵌入式语言,嵌入到其他高级语言中。 2. SQL语言包含哪几个部分? 答:SQL语言包含4个部分:数据定义语言(DDL-Data Definition Language)、数据查询语言(DQL-Data Query Language)、数据操纵语言(DML-Data Manipulation Language)、数据控制语言(DCL-Data Control Language) 3. 在联接查询中,包含哪几类联接?答:联接可分为3类: (1)内部联接(典型的联接运算,使用类似于 = 或 <> 的比较运算符)。内部联接使用比较运算符根据每个表的通用列中的值匹配两个表中的行。内部联接包括同等

Oracle数据库基础

Oracle 数据库基础 数据库是我们安装完产品后建立的,可以在同一台主机上存在8i,9i,10g,11g等多个数据库产品,一套产品可以建立多个数据库,每个数据库是独立的。每个数据库都有自己的全套相关文件,有各自的控制文件、数据文件、重做日志文件、参数文件、归档文件、口令文件等等。 其中控制文件、数据文件、重做日志文件、跟踪文件及警告日志(trace files,alert files)属于数据库文件; 参数文件(parameter file)口令文件(password file)是非数据库文件 我们的表存储在数据库中 数据库不能直接读取 我们通过实例(instance)来访问数据库 数据库实例 实例由内存和后台进程组成 实例是访问数据库的方法 初始化参数控制实例的行为 一个实例只能连接一个数据库

启动实例不需要数据库 产品安装好 有初始化参数文件 就可以启动实例 与是否存在数据库无关 实例内存分为SGA 和PGA SGA:是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含Oracle 服务器的数据和控制信息,它是在Oracle 服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。 PGA:包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的SGA正相反,PGA 是只被一个进程使用的区域,PGA 在创建进程时分配,在终止进程时回收. 后台进程是实例和数据库的联系纽带 分为核心进程和非核心进程 当前后台进程的查看 SQL> select name,description from v$bgprocess where paddr<>'00'; NAME DESCRIPTION

SQL数据库基础知识集合

1、数据库简介: 数据库是专门开发数据管理的软件,或者说专门管理数据的软件就是数据库。 数据库存在的意义就是:减轻开发人员的负担。数据库是一个综合的软件,那么我们不需要队要进行2进制保存数据进行处理了,但是却是要与数据库产生交互,那么命令式SQL,有技巧的,数据库就是万物皆关系(面向对象,万物皆是对象)有所区别。 2、数据库的发展: 一开始的是层次化的数据与网状数据库,后来也发现使用确实很麻烦。 于是到了1970年EF.Cold博士(IBM公司的研究员)开创了关系性的数据库的先驱,发表了关系性数据库的论文,但是由于当时电脑硬件的局限性,大家觉得跑如此大的程序不值得。后来,Oracle(甲骨文)公司的创始人,拉里带领Oracle投入到关系型数据库的研发,并且得到了一个大客户—美国国防部。随即开始世界刮起了关系数据库的旋风,随后各个公司都纷纷推出自己的数据库系统。比如:IBM的DB2 ,还有风靡一时的DBS3。 但是随即出现不兼容的问题,由于最早的时候都没有进行没规范。所以到最后各个数据库巨头统一了操纵数据库的SQL(结构化Struct数据查询语言)变成了标准语言,而关系型数据库也俨然变成大家的宠儿,Oracle也从一个小公司,变成现在的数据库巨头,而我们的微软也推出了SQLServer。当然还有PHPer的最爱mySQL。但是mySQL被SUN,SUN 被Oracle收购,现在有免费版与收费专业版了。所以我们学习SQL语言的时候,先学共同点,再学特异性。各种数据库软件在使用上有一点区别。 3、数据库系统详解: 为适应数据处理的需要而发展起来的一种较为理想的数据处理的核心机构。计算机的高速处理能力和大容量存储器提供了实现数据管理自动化的条件。 数据库系统一般由4个部分组成: 数据库,即存储在磁带、磁盘、光盘或其他外存介质上、按一定结构组织在一起的相关数据的集合。(个体) 数据库管理系统(DBMS)。一组能完成描述、管理、维护子数据库的程序系统。它按照一种公用的和可控制的方法完成插入新数据、修改和检索原有数据的操作。 数据库管理员(DBA)。 用户和应用程序。(微软的称作SSMS) 4、数据库系统的基本要求是: 1、能够保证数据的独立性。数据和程序相互独立有利于加快软件开发速度,节省开发费用。 2、冗余数据少,数据共享程度高。 3、系统的用户接口简单,用户容易掌握,使用方便。 4、能够确保系统运行可靠,出现故障时能迅速排除,能够保护数据不受非受权者访问或破坏,能够防止错误数据的产生,一旦产生也能及时发现。 5、有重新组织数据的能力,能改变数据的存储结构或数据存储位置,以适应用户操作特性的变化,改善由于频繁插入、删除操作造成的数据组织零乱和时空性能变坏的状况。 6、具有可修改性和可扩充性、可维护性。 7、能够充分描述数据间的内在联系。 5、数据库(Database): 由众多的数据、数据表、约束、存储过程、函数、视图、索引构成的一个数据存储与交互单元,是按照数据结构来组织、存储和管理数据的仓库。 6、数据表(table): 数据表,实际上是一个二维表。一般是围绕一个事务、动作记录,或者是一个信息主题作为一个数据表。数据表由行与列构成。 7、列(column、field): 列,其实就是字段。也是决定了信息的基本单元。列,包含有数据类型的设定。 8、行(row、record): 行,实际上就是一条基本信息。一行包含了多列数据的存储的信息。所以一行也有一条记录之称。 9、行业(trade) 一个行业一种需求,没一个需求每一种数据库的设计模式与思想。每个行业的数据设计的重点都是不同的。侧重查询(要求低范式)还是操作(要求搞范式)就是自己选择的问题了。 10、索引(index) 索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引其实就是一个B+树,但是这个索引是N^n层数次方的。目的就是在数据库中划分出一定的区域优化查询。可以提升大量数据的查询速度。索引一般可以分为:基于字段优化查询速度的普通索引、唯一性索引、主键索引、全文索引、单列与多列索引。现在由于数据库系统的不断升级,我们只要设定索引就可以了,不需要特殊的维护。而且数据在查询的时候也会根据查询适当地选择是利用索引查询,还是仅仅是表查询。由于数据库系统的发展,系统内部已经自动帮我们完成对索引的维护。但是在设计的时候要考虑到索引的损耗问题。数据库DB就像是一个字典,索引就是根据指定字段制成的快速指向。由于只是指向数据对象标识,真正的数据是存储在DB中,所以查询速度极快。但是额外的内存与硬盘花销也是一个需要考虑的问题。比如:增加、删除、修改时数据库都要对索引进行维护,但是这样也是为了最后查询的效率的提升,特别适合W行级别的数据查询。而索引可以分为:隐式索引(针对单个字段)、唯一索引(唯一约束)、函数索引(函数(字段))、聚簇索引(主键)、组合索引(最多16个field)与全文索引(text)。一般索引会占用原数据库大小的20%。 11、视图(view) 固化的子查询,将一个子查询起了一个固化的名字,保存在数据库中,方便以后的使用。其实调用大量的Join来进行一个查询一般也是用视图。视图与索引都是为了优化查询的速度与语句。视图是优化语句,索引是优化单查速度。一般是DBA来设定数据库的视图,封装内部数据库的数据关系,范式修改数据容易了,视图让我们查询复杂关系的数据变得容易。 12、触发器(trigger) 触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由个事件来触发,比如当对一个表进行操作(insert,delete,update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。触发器可以从DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。 13、SQLServer数据类型详解

mysql数据库系统及应用综合练习附答案

《MySQL数据库系统及应用》综合练习__1附答案 一、单项选择题(只有一个正确答案) 【1】执行语句"SELECT '2008-01-20'+ INTERV AL 2 DAY; "结果为()。A: 2010-01-20 B: 2008-01-22 C: 2008-02-11 D: 2008-03-20 答案: B 【2】下列是不正确的MySQL的变量命名方式的是()。 A: @name! B: @name C: @_name D: @n$ame 答案: A 【3】字符串'hel'lo'输出结果为()。 A: hel\'lo B: 'hello' C: hel'lo D: 'hel lo' 答案: C 【4】关系数据库模型是以()方式组织数据结构。 A: 文本 B: 网状 C: 树状 D: 二维表 答案: D 【5】使用下列语句中的()可以删除表中所有数据,但保留表结构。A: rename table B: delete C: drop table D: turn cate table 答案: D 【6】E-R图设计属于()。 A: 需求分析设计 B: 物理结构设计

C: 逻辑结构设计 D: 概念结构设计 答案: D 【7】执行语句"GREATEST(10,9,128,1)"结果为()。 A: 128 B: 1 C: 10 D: 9 答案: A 【8】在一个关系中,若有这样一个属性存在,它的值能唯一地标识关系中的每一个元组,则称这个属性为()。 A: 候选码 B: 主键 C: 主键值 D: 数据项 答案: B 【9】数据库管理系统能实现对数据库中数据的查询、插入、修改和删除等操作。这种功能称为()。 A: 数据控制功能 B: 数据管理功能 C: 数据操纵功能 D: 数据定义功能 答案: C 【10】1999年10月1日在mysql中表示方法错误的是()。 A: "1999/10/01" B: "1999%10%01" C: "1999\10\01" D: "1999-10-01" 答案: A 【11】两个表中的行按照给定的条件进行拼接而形成新表的运算为()。 A: 连接 B: 集合 C: 选择 D: 投影 答案: A 【12】向表中插入一个新行的纪录的命令为()。 A: insert from B: insert into C: replace from D: replace into 答案: B 【13】\n在MySQL中表示()。 A: 退格符 B: 换行符

sql数据库基础面试题复习试题考试题_全

不定项选择题(针对以下题目,请选择最符合题目要求的答案,每道题有一项或二项正确答案。针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。题量为50道,每题2分,总分为100分。) 第一章 1、是SQLServer数据库的主数据文件的扩展名。(选择一项) A、.sql B、.mdb C、.ldf D、.mdf 2、在SQL Server 2005中,有系统数据库和用户数据库,下列不属于系统数据库的是()。 (选择一项) A、master B、pubs C、model D、msdb 3、当安装完SQL Server2005数据库时,系统默认当前的超级管理员是( ) (选择一项) A、sa B、master C、administrator D、super 4、在使用SQL Server2005数据库时,有时需要将本机的数据库移动到其他机器上,恢复成对应的数据库使用。移动数据库分两步进行,应包括()和附加数据库(选择一项)A、分离数据库 B、删除数据库 C、新建数据库 D、合并数据库 5、在SQL Server2005中,附加数据库操作是指()(选择一项) A、把SQL Server 数据库文件保存为其他数据文件 B、根据数据库物理文件中的信息,把数据库在SQL Server 2005中恢复 C、把所有该数据库表的数据清空 D、把数据库删除掉 6、某单位由不同的部门组成,不同的部门每天都会生产一些报告、报表等数据,以为都采用纸张的形式来进行数据的保存和分类,随着业务的发展,这些数据越来越多,管理这些报告越来越费力,此时应考虑()(选择一项) A、由多个人来完成这些工作 B、在不同的部门中,由专门的人员去管理这些数据 C、采用数据库系统来管理这些数据 D、把这些数据统一成一样的格式 7、在SQL Server 2005中,对于数据库的定义正确的是()(选择一项) A、数据库是用来描述事物的符号记录 B、数据库是位于用户与操作系统之间的一层数据管理软件

大工18春《SQL数据库系统及应用》在线作业2

------------------------------------------------------------------------------------------------------------------------------ (单选题) 1: 如果想查询订单表中订购金额大于等于800的所有信息,下面()语句能够完成此任务。 A: select * FROM 订单表 WHERE 订购金额<800 B: select * FROM 订单表 WHERE 订购金额>800 C: select * FROM 订单表 WHERE 订购金额<=800 D: select * FROM 订单表 WHERE 订购金额>=800 正确答案: (单选题) 2: 如果想查询订单表中前5条信息,下面()语句能够完成此任务。 A: select top 5 * FROM 订单表 B: select up 5 * FROM 订单表 C: select up_down 5 * FROM 订单表 D: select top_down 5 * FROM 订单表 正确答案: (单选题) 3: Select emp_id,emp_name,sex,title,wage from Yuangong order by emp_name 句子得到的结果集是按( )排序。 A: emp_id B: emp_name C: sex D: wage 正确答案: (单选题) 4: 如果要查询学校员工的平均收入,则使用以下()聚合函数。 A: sum() B: ABS() C: count() D: avg() 正确答案: (单选题) 5: 如果要查询学校员工的总收入,可以使用以下()聚合函数。 A: sum() B: ABS() C: count() D: MAX() 正确答案: (单选题) 6: Select count(*) from student 语句得到的结果是()。 A: 某个记录的详细信息 B: 全部记录的详细信息 C: 所有记录的条数 D: 得到16条记录 正确答案: (单选题) 7: SQL语句中,查询中分组的关键词是()。 A: ORDER BY B: LIKE C: CREATE D: GROUP BY

数据库sql课后练习题及答案解析

数据库sql课后练习题及答案解析 (borrow 表) (reader表)1) 找出姓李的读者姓名(NAME)和所在单位(COMPANY)。2) 列出图书库中所有藏书的书名(BOOK_NAME)及出版单位(OUTPUT)。3) 查找“高等教育出版社”的所有图书名称(BOOK_NAME)及单价(PRICE),结果按单价降序排 序。4) 查找价格介于10元和20元之间的图书种类(SORT),结果按出版单位(OUTPUT)和单价(PRICE)升序排序。5) 查找书名以”计算机”开头的所有图书和作者(WRITER)。6) 检索同时借阅了总编号(BOOK_ID)为112266和449901两本书的借书证号(READER_ID)。##7)* 查找所有借了书的读者的姓名(NAME)及所在单位(COMPANY)。8)* 找出李某所借所有图书的书名及借书日期(BORROW_DATE)。9)* 无重复地查询xx年10月以后借书的读者借书证号(READER_ID)、姓名和单位。##10)* 找出借阅了一书的借书证号。11) 找出与”赵正义”在同一天借书的读者姓名、所在单位及借书日期。12) 查询xx年7月以后没有借书的读者借书证号、姓名及单位。#13) 求”科学出版社”图书的最高单价、最低单价、平均单价。##14)* 求”信息系”当前借阅图书的读者人次数。#15) 求出各个出版社图

书的最高价格、最低价格和总册数。#16) 分别找出各单位当前借阅图书的读者人数及所在单位。17)* 找出当前至少借阅了2本图书(大于等于2本)的读者姓名及其所在单位。18) 分别找出借书人次数多于1人次的单位及人次数。19) 找出藏书中各个出版单位的名称、每个出版社的书籍的总册数(每种可能有多册)、书的价值总额。20) 查询经济系是否还清所有图书。如果已经还清,显示该系所有读者的姓名、所在单位和职称。附录:建表语句创建图书管理库的图书、读者和借阅三个基本表的表结构:创建BOOK:(图书表)CREATE TABLE BOOK ( BOOK_ID int, SORT VARCHAR(10), BOOK_NAME VARCHAR(50), WRITER VARCHAR(10), OUTPUT VARCHAR(50), PRICE int); 创建READER:(读者表)CREATE TABLE READER (READER_ID int,COMPANY VARCHAR(10),NAME VARCHAR(10),SEX VARCHAR(2),GRADE VARCHAR(10),ADDR VARCHAR(50)); 创建BORROW:(借阅表)CREATE TABLE BORROW ( READER_ID int, BOOK_ID int, BORROW_DATE datetime)插入数据:BOOK表:insert into BOOK values(445501,'TP3/12','数据库导论','王强','科学出版社', 17、90);insert into BOOK values(445502,'TP3/12','数据库导论','王强','科学出版社', 17、90);insert into BOOK values(445503,'TP3/12','数据库导论','王强','科学出版社',

(整理)SQLServer数据库基本知识点.

SQL Server 数据库基本知识点一、数据类型

二、常用语句 (用到的数据库Northwind) 查询语句 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的 表或视图、以及搜索条件等。例如,下面的语句查询Customers 表中公司名称为“Alfreds Futterkiste”的ContactName字段和Address字段。 SELECT ContactName, Address FROM Customers WHERE CompanyName='Alfreds Futterkiste' (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列 例如,下面语句显示Customers表中所有列的数据: SELECT * FROM Customers 2、选择部分列并指定它们的显示次序查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 例如: SELECT ContactName, Address FROM Customers 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题 as 列名 列名列标题如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题: SELECT ContactName as 联系人名称, Address as地址 FROM Customers 4、删除重复行

SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认 为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 SELECT DISTINCT(Country) FROM Customers 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT 时,说明n是 表示一百分数,指定返回的行数等于总行数的百分之几。 例如: SELECT TOP 2 * FROM Customers SELECT TOP 20 PERCENT * FROM Customers (二)FROM子句 FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列 所属的表或视图。例如在Orders和Customers表中同时存在CustomerID列,在查询两个表中的CustomerID时应 使用下面语句格式加以限定: select * from Orders,Customers where Orders.CustomerID =Customers.CustomerID 在FROM子句中可用以下两种格式为表或视图指定别名: 表名 as 别名 表名别名 select * from Orders as a,Customers as b where a.CustomerID =b.CustomerID SELECT不仅能从表或视图中检索数据,它还能够从其它查询语句所返回的结果集合中查询数据。 例如: select * from Customers where CustomerID in (select CustomerID from Orders where EmployeeID=4) 此例中,将SELECT返回的结果集合给予一别名CustomerID,然后再从中检索数据。 (三) 使用WHERE子句设置查询条件 WHERE子句设置查询条件,过滤掉不需要的数据行。例如下面语句查询年龄大于20的数据:select CustomerID from Orders where EmployeeID=4

大工20秋《SQL数据库系统及应用》在线作业1

大工20秋《SQL数据库系统及应用》在线作业1 1:删除表sst的命令( )。 A、DROP_FOR sst B、DELETES TABLE sst C、DROP TABLE sst D、DELETES sst 答案:C 2:在SQL语句中,修改表结构的命令是( )。 A、MODIFY_FOR TABLE B、MODIFY_FOR STRUCTURE C、ALTER TABLE D、ALTER STRUCTURE 答案:C 3:SQL语句中建立表的命令是( )。 A、DROP SCHEMA B、CREATE TABLE C、CREATE VIEW D、DROP INDEX 答案:B 4:在select语句查询时,使用WHERE子句指出的是( )。 A、创建删除条件 B、排序结果

C、查询条件 D、查询视图 答案:C 5:若想查询出所有姓王的且民族为汉族的学生信息,则WHERE条件应为( )。 A、name like '王%'and Minzu='汉族' B、name like '王%'and Minzu!='汉族' C、name like '王%'and Minzu ISS '汉族' D、name like '王_'and Minzu IS '汉族' 答案:A 6:以下说法中正确的是( )。 A、student_3是不合法的变量名 B、SQL中用户变量也称为全局变量 C、a2是不合法的变量名 D、可以使用语句来为变量赋值 答案:D 7:下面聚合函数中正确的是( )。 A、SUM (*) B、COUNT (*) C、MAX (*) D、AVG (*) 答案:B 8:以下聚合函数中用于返回最大值的是( )。 A、VARP

SQL基础测试2

SQL基础理论测评 姓名得分 一、填空题(10*2分) 1:SQL中定义变量的关键字: 2:多表连接有(请在横线上,写出对应的关键字) 左连接右连接内连接 3:获取系统日期和时间的函数: 4:关系模型的数据操纵即是建立在关系上的数据操纵, 一般有__ _ 、、和四种操作。 5:sql sever 2005中删除表的命令是删除表中字段值的命令是 6:sql sever 2005中order by [字段名] 后跟表示升序,跟表示降序7:在结果集中过滤掉重复的记录使用关键字: 8:SQLServer中表间的关系有:、、 9:多表查询中定义表的别名的关键字是。 10:sql中数据类型转换函数和 二、判断题(10*2) 1、sql server 2005 查询结果中不能存在相同的字段名。() 2、sql server 2005 存储过程没有返回值。() 3、sql server 2005 函数只能返回一个数值。() 4、convert不能把时间类型转换成字符型。() 5、master和tempdb都是SQLServer2005 的系统数据库。() 6、sql server 2005中不等于可以用<> 和!= 都可以。() 7、sql中没有货币类型。() 8、在查询语句中系统最先执行的操作是搜索当前系统查询所使用的表,所 以最先执行的语句是FROM 子句。() 9、存储过程要比单纯的Sql 语句执行起来要快。() 10、sql sever 中获取字符串长度的函数为:lenstr。() 三、简答题(5*12) 1.【SQL】用SQL语句,描述下列内容: 获取客户端主机名: 生成错误消息,抛出异常: 自增列: 获取上一次执行行数: 保存表中字段信息的系统表表名:

Oracle数据库基本知识点

1、数据库基本语句 (1)表结构处理 创建一个表:cteate table 表名(列1 类型,列2 类型); 修改表的名字 alter table 旧表名 rename to 新表名 查看表结构 desc 表名(cmd) 添加一个字段 alter table 表名 add(列类型); 修改字段类型 alter table 表名 modify(列类型); 删除一个字段 alter table 表名 drop column列名; 删除表 drop table 表名 修改列名 alter table 表名 rename column 旧列名 to 新列名; (2)表数据处理 增加数据:insert into 表名 values(所有列的值); insert into 表名(列)values(对应的值); 更新语句:update 表 set 列=新的值,…[where 条件] 删除数据:delete from 表名 where 条件 删除所有数据,不会影响表结构,不会记录日志, 数据不能恢复--》删除很快: truncate table 表名 删除所有数据,包括表结构一并删除: drop table 表名 去除重复的显示:select distinct 列 from 表名 日期类型:to_date(字符串1,字符串2)字符串1是日期的字 符串,字符串2是格式 to_date('1990-1-1','yyyy-mm-dd')-->返回日期的 类型是1990-1-1 (3)查询语句 1)内连接 select a.*,b.* from a inner join b on a.id=b.parent_id

数据库系统及应用复习

ZH计0418班数据库系统及应用复习 一、填空题 1、SQL具有数据定义、查询、操纵和控制等四种主要功能。 2、一个关系模型由若干个关系模式所组成。 3、若实体A和B是1对多的联系,实体B和C是多对1的联系,则实体A和C是多对_多_联系。 4、按照两关系中对应属性值相等的条件所进行的联接称为等值联接。 5、关系规范化就是使一个关系模式描述一个实体,或实体间的一种联系。 6、假定一个E-R图包含有A实体和B实体,并且从A到B存在着1:n 的联系,则转换成关系模型后,包含有 2 个关系模式。 7、SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,充分体现了关系数据语言的特点和优点。 8、一个关系就是一张二维表,每个关系有一个关系名,每个关系在计算机中作为一个文件存储起来。 9、人们已经提出了许多种类型的数据依赖,其中最重要的是函数依赖和多值依赖。 10、任一种数据模型都有_型__和_值区别;层次模型是一棵_树__结构,关系模型是一个__二维表格 _结构。 11、在对象数据模型中,每个对象不仅要包含描述实体的__状态 ___特征,而且要包含描述实体的__行为_ _特征。 12、设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,A→C,(C,D)→E},该关系只满足第一范式,若要规范化为第三范式,则将得到 3 个关系。 13、数据库管理系统提供了数据库的定义、操纵、查寻、控制和通信功能。 14、E-R模型是描述概念世界、建立概念模型的实用工具。 15、数据库系统的主要特点是实现数据共享、减少数据冗余、采用特定的数据模型、具有较高的数据独立性、具有统一的数据控制功能。 16、选择运算的结果关系同原关系具有相同的结构框架,投影运算的结果关系同原关系通常具有不同的结构框架。 17、在SQL所支持的数据库系统的三级模式结构中,视图属于外模式,基本表属于全局概念模式。 18、设X—Y是关系模式R的一个函数依赖,并且Y是X的子集,则称X→Y是平凡函数依赖。 19、数据库系统的核心是数据库管理系统或DBMS。 20、实体之间的联系按照联系方式的不同可分为1∶1、1∶n和m∶n。 21、假定利用CREATE TABLE命令建立如下一个基本表:BOOK(总编号C(6),分类号C(8),书名C(16),单价N(10,2)),则单价字段的类型为数值型,字段宽度为 10 ,其中包含有 2 位小数。 22、在关系模型中,实体以及实体间的联系都是用关系来表示的。 23、关系模式由3NF转化为BCNF是消除了主属性对码的部分函数依赖和传递函数依赖。 24、专门的关系运算包括选择、投影、连接和除四种。 25、在数据库系统中,DBMS是指数据库管理系统。 26、传统的三大数据模型分别是层次模型、网状模型和关系模型。 27、在关系运算的四种专门关系运算符中,它们分别是选择、摄影、连接和除运算。 28、SQL的含义是结构化查询语句。29、SQL的四大功能分别是查询、定义、操纵和控制。 30、在SQL的修改表结构命令中增加字段的关键字是ADD。 修改字段的属性的关键字是ALTER COLUMN。 31、在SQL常用的运算符号中,OR表示或,NOT表示否定,LIKE表示字符匹配。 32、在SQL的SELECT的格式中用于表示条件的关键字是WHERE。 如:SELECT*FROM A WHERE年龄>20的含义是:从A表中查询出所有年龄大于20的记录。 33、在SQL中创建视图的基本命令是:CREATE VIEW〈试图名〉AS〈SELECT查询语句〉。 34、在操作的表中,可以定义的触发器大概有三类:它们分别是更新触发器、插入触发器和删除触发器 二、选择题 1、关系演算的基础是( C )。 A、形式逻辑中的逻辑演算 B、形式逻辑中的关系演算 C、数理逻辑中的谓词演算 D、数理逻辑中的形式演算 2、若要求分解保持函数依赖,那么模式分解一定能够达到( B )。 A、2NF B、 3NF C、 BCNF D、 1NF 3、用于配置客户端网络连接的工具是(B )。 A、企业管理器 B、客户端网络实用工具 C、查询分析器 D、联机帮助文档 4、1级封锁协议加上T要读取的数据R加S锁,这是( C )。 A、3级封锁协议 B、4级封锁协议 C、2级封锁协议 D、1级封锁协议 5、在表设计视图中,如果要限定数据的输入格式,应修改字段的( D )属性。 A、字段大小 B、有效性规则 C、输入格式 D、格式 6、下列( D )是主键的标志。 A、 B、 C、 D、 7、数据库类型是按照( B )来划分的。 A、文件形式 B、数据模型 C、记录形式 D、数据存取方法 8、哪种情况应尽量创建索引(A )。 A、在Where子句中出现频率较高的列 B、具有很多NULL值的列 C、记录较少的基本表 D、需要更新频繁的基本表 9、建立数据字典的时机是( A )。 A、需求分析阶段 B、数据库物理设计阶段 C、数据库实施 D、概念结构设计阶段 10、如果要在SQL Server中存储图形图像、Word文档文件,不可采用的数据类型是( C )。 A、binary B、varbinary C、text D、image 11.数据库系统的核心是(C) A数据库B数据库系统C数据库管理系统D数据 12.实体之间的联系的基本类型有(D) A一对一B一对多C多对多D上述三种都是

数据库sql练习题

use test /* 问题及描述: --1.学生表 Student(S#,Sname,Sage,Ssex) --S# 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别--2.课程表 Course(C#,Cname,T#) --C# --课程编号,Cname 课程名称,T# 教师编号 --3.教师表 Teacher(T#,Tname) --T# 教师编号,Tname 教师姓名 --4.成绩表 SC(S#,C#,score) --S# 学生编号,C# 课程编号,score 分数 select * from Student select * from Course select * from Teacher select * from SC */ --创建测试数据 create table Student(S# varchar(10),Sname nvarchar(10),Sage datetime,Ssex nvarchar(10)) insert into Student values('01', N'赵雷','1990-01-01', N'男') insert into Student values('02', N'钱电','1990-12-21', N'男') insert into Student values('03', N'孙风','1990-05-20', N'男') insert into Student values('04', N'李云','1990-08-06', N'男') insert into Student values('05', N'周梅','1991-12-01', N'女') insert into Student values('06', N'吴兰','1992-03-01', N'女') insert into Student values('07', N'郑竹','1989-07-01', N'女') insert into Student values('08', N'王菊','1990-01-20', N'女') create table Course(C# varchar(10),Cname nvarchar(10),T# varchar(10)) insert into Course values('01', N'语文','02') insert into Course values('02', N'数学','01') insert into Course values('03', N'英语','03') create table Teacher(T# varchar(10),Tname nvarchar(10)) insert into Teacher values('01', N'张三') insert into Teacher values('02', N'李四') insert into Teacher values('03', N'王五') create table SC(S# varchar(10),C# varchar(10),score decimal(18,1)) insert into SC values('01','01', 80) insert into SC values('01','02', 90) insert into SC values('01','03', 99) insert into SC values('02','01', 70) insert into SC values('02','02', 60) insert into SC values('02','03', 80)

MySQL数据库系统及应用综合练习

一、单项选择题(只有一个正确答案) 【1】执行语句“ SELECT '2008-01-20'+ INTERVAL 2 DAY; ”结果为 A: 2008-01-22 B: 2010-01-20 C: 2008-02-11 D: 2008-03-20 答案: A 【2】下列哪个是不正确的MySQL的变量命名方式 A: @_name B: @n$ame C: @name D: @name! 答案: D 【3】字符串‘ hel ' lo '输出结果为 A: hel'lo B: 'hello' C: hel\'lo D: 'hel lo' 答案: A 【4】关系数据库模型是以下哪种方式组织数据结构 A: 树状 B: 文本 C: 二维表 D: 网状 答案: C 【5】使用下列哪个语句可以删除表中所有数据, 但保留表结构 A: truncate table B: rename table C: delete D: drop talbe 答案: A 【6 】E-R 图设计属于()。 A: 概念结构设计 B: 物理结构设计 C: 逻辑结构设计 D: 需求分析设计答案: B 【7】执行语句“ GREATEST(10,9,128,1)”结果为()。 A: 9

B: 10 C: 128 D: 1 答案: C 【8】在一个关系中,若有这样一个属性存在,它的值能唯一地标识关系中的每一个元组,则称这个 属性为 A: 数据项 B: 候选码 C: 主键 D: 主键值 答案: C 【9】数据库管理系统能实现对数据库中数据的查询、插入、修改和删除等操作。 这种功能称为()。 A: 数据控制功能 B: 数据操纵功能 C: 数据管理功能 D: 数据定义功能 答案: B 【10 】1999 年10 月1 日在mysql 中表示方法错误的是: A: "1999-10-01" B: "1999%10%01" C: "1999\10\01" D: "1999/10/01" 答案: D 【11 】两个表中的行按照给定的条件进行拼接而形成新表的运算为 A: 连接 B: 投影 C: 集合 D: 选择 答案: A 【12 】向表中插入一个行新的纪录的命令为 A: replace into B: insert into C: replace from D: insert from 答案: B 【13】\n在MySQL中表示 A: " B: 退格符 C: 回车符

ACCESS数据库练习题

第1章数据库基础 一、选择题 2010是一种()。 A. 数据库 B. 数据库系统 C. 数据库管理软件 D. 数据库管理员 2010数据库对象中,()是实际存放数据的地方。 A. 表 B. 查询 C. 报表 D.窗体 2010数据库中的表是一个()。 A. 交叉表 B. 线型表 C. 报表 D.二维表 4.在一个数据库中存储着若干个表,这些表之间可以通过()建立关系。 A. 内容不相同的字段 B. 相同内容的字段 C. 第一个字段 D. 最后一个字段 5.Access数据库属于()数据库。 A)、层次模型 B)、网状模型 C)、关系模型 D)、面向对象模型6.打开Access数据库时,应打开扩展名为()的文件。 A)、mda B)、accdb C)、mde D)、DBF 7. 下列()不是Access数据库的对象类型? A)、表B)、向导C)、窗体D)、报表 8.创建表时可以在()中进行。 A)、报表设计器 B)、表浏览器 C)、表设计器 D)、查询设计器9.文本类型的字段最多可容纳()个字符。 A)、255 B)、256 C)、128 D)、127 10.二维表由行和列组成,每一行表示关系的一个() A. 属性 B. 字段 C.集合 D. 记录 11.在Access 2010数据库中,专用于打印的是() A. 表 B. 报表 C.窗体 D. 宏 12.定义字段的默认值的含义是()

A. 不得使该字段为空 B. 不允许字段的值超出某个范围 C. 系统自动提供数值 D. 自动把小写字母转为大写 13.在Access 数据库中,关系选项不包括() A.参照完整性 B. 提高查询 C. 级联更新 D. 级联删除 14. 如果在创建表中建立字段“性别”,并要求用汉字表示,其数据类型应当是() A. 是/否 B. 数字 C. 文本 D. 日期/时间 15. 书写查询准则时,日期型数据应该使用适当的分隔符括起来,正确的分隔符是() A. * B. % C. # D. & 16.Access 2010数据库属于()数据库。 A.层次模型 B. 网状模型 C. 关系模型 D.面向对象模型 17. 数据库的英文缩写为( )。 A. DBA B. DB C. DBMS D. DBS 18.下列( )不是ACCESS 2010数据库的对象类型。 A. 表 B. 查询 C. 窗体 D. 向导 19.Access 2010数据库中不存在的数据类型是() A. 文本 B. 数字 C.通用 D. 日期/时间 20. DBMS是( ) A.数据库 B.数据库系统 C.数据库管理系统 D.数据处理系统 21. DBS是指() A.数据 B.数据库 C.数据库系统 D.数据库管理系统 二、填空题 2010数据库中的表以行和列来组织数据,每一行称为,每一列称为。 2010数据库中表之间的关系有、和关系。 3.报表是把数据库中的数据的特有形式。 4. 用二维表的形式来表示实体之间联系的数据模型叫做。

相关文档
最新文档