关系数据库语言SQL实验报告

关系数据库语言SQL实验报告
关系数据库语言SQL实验报告

数据库系统教程上机实验报告

学院:计算机科学与工程学院

专业:计算机科学与技术

指导老师:戴祖雄

班级:计算机一班

学号:0905010124

姓名:范佳滨

2011年10月26日

关系数据库语言SQL实验

实验目的

1.了解SQL的特点。

2.熟悉关系数据库的标准语言——结构化查询语句SQL(Structured Query Language)。

3.熟悉并掌握SQL的数据定义、数据查询、数据更新、视图操作以及嵌入式SQL。

实验一:

一.实验工具

1.Microsoft Server 2000.

二.实验步骤

1.打开SQL Server 服务管理器,点击开始。

2.打开 SQL Server Enterprise Manager(企业管理器),在Microsoft SQL Servers\SQL Server\Windows NT\数据库目录下创建自己的数据,并为其命名,如mydata。

3.打开SQL查询分析器,选择自己的数据库,然后就可以在数据库里添加内容了。

4.基本表的创建:

1)创建教师表

CREATE TABLE T

(T# CHAR(4) NOT NULL,

TNAME CHAR(10) NOT NULL,

CLASS CHAR(30),

PRIMARY KEY(T#));

2)创建课程表

CREATE TABLE C

(C# CHAR(4),

CNAME CHAR(30) NOT NULL,

T# CHAR(4),

PRIMARY KEY(C#),

FOREIGN KEY(T#) REFERENCES T(T#));

3)创建学生表

CREATE TABLE S

(S# CHAR(4) NOT NULL,

SNAME CHAR(10) NOT NULL,

AGE SMALLINT,

SEX CHAR(2),

PRIMARY KEY(S#));

4)创建学生所选课的成绩表

CREATE TABLE SC

(S# CHAR(4),

C# CHAR(4),

SCORE SMALLINT,

PRIMARY KEY(S#,C#),

FOREIGN KEY(S#) REFERENCES S(S#),

FOREIGN KEY(C#) REFERENCES C(C#));

5. 数据的更新

1) 插入教师表的信息

INSERT INTO T (T#,TNAME,CLASS)

VALUES('T1','DAI','数据库');

INSERT INTO T

VALUES('T2','XIAO','计算机基础');

INSERT INTO T

VALUES('T3','TANG','操作系统');

INSERT INTO T

VALUES('T4','SONG','微机原理');

INSERT INTO T

VALUES('T5','WEI','VHDL')

INSERT INTO T

VALUES('T6','WANG','汇编语言');

2)插入课程表信息

INSERT INTO C (C#,CNAME,T#)

VALUES('C1','数据库','T1');

INSERT INTO C

VALUES('C2','计算机基础','T2');

INSERT INTO C

VALUES('C3','操作系统','T3');

INSERT INTO C

VALUES('C4','微机原理','T4');

INSERT INTO C

VALUES('C5','VHDL','T5');

INSERT INTO C

VALUES('C6','汇编语言','T6');

3)插入学生信息

INSERT INTO S(S#,SNAME,AGE,SEX)

VALUES('S1','FAN','21','男');

INSERT INTO S

VALUES('S2','JIANG','20','女');

INSERT INTO S

VALUES('S3','WANG','20','男');

INSERT INTO S

VALUES('S4','TIAN','18','男');

INSERT INTO S

VALUES('S5','LUO','19','女');

INSERT INTO S

VALUES('S6','LIU','25','男');

4)插入学生成绩

INSERT INTO SC

VALUES('S1','C6','92');

INSERT INTO SC

VALUES('S2','C5','88');

INSERT INTO SC

VALUES('S3','C4','95');

INSERT INTO SC

VALUES('S4','C3','90');

INSERT INTO SC

VALUES('S5','C2','93');

INSERT INTO SC

VALUES('S6','C1','99');

四.实验结果

1.显示学生所选课程成绩表所有内容SELECT * FROM SC;

2.显示课程表的所有内容

SELECT * FROM C;

3.显示学生表的所有内容

SELECT * FROM S;

4.显示教师表的内容

SELECT * FROM T;

5.数据修改

如修改老师姓名:

UPDATE T

SET TNAME = 'MA' WHERE T# = 'T1';

6 . 数据删除

如删除学生成绩

DELETE FROM SC

WHERE SCORE = '92';

7.表的删除,等。

五.结果分析

虽然实验一中的语句书本上都有,基本都是照着打一遍,熟悉SQL的语法等。但是在过程中我还是遇到了一些问题。1)如在更新插入操作时,书本上是说在一个表中可以连续插入元组,INSERT INTO SC VALUES('S1','C6','92'), ( 'S2','C5','88'), ( 'S3','C4','95'); 书本只用了一个VALUES,但是我就是

运行不了。于是我就用分别插入,用INSERT INTO SC VALUES('S1','C6','92'), VALUES('S2','C5','88'), VALUES('S3','C4','95')语句就可以运行了。这让我深刻体会到书本不一定是对的。2)在做删除表的操作过程中,我在删除表T的时候,运行错误“未能除去对象 'T',因为该对象正由一个 FOREIGN KEY 约束引用。”于是我就知道了当一个表中有外键的时候,是不能单单只删除当前表的,因为这样会影响与当前表有联系的所以表。

实验二:

一.实验工具

1. Lomboz Eclipse

二.实验步骤

1.下载并安装SP4补丁,用于JAVA与SQL Server 2000的连接。

2.下载msbase.jar、mssqlserver.jar、msutil.jar三个驱动jar包,并在打开Lomboz Eclipse 软件是在源文件下引入这三个包。

3.源代码:

import java.sql.*;

import java.awt.*;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

public class TestJDBC extends Frame {

static TextArea ta = new TextArea();

public void launch(String s) {

this.setTitle(s);

this.setSize(400,300);

this.setLocation(200,100);

this.setResizable(false);

this.setVisible(true);

this.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

setVisible(false);

System.exit(0);

}

});

this.add(ta,BorderLayout.CENTER);

}

public static void main(String[] args) {

new TestJDBC().launch("教师表");

String s1 = null;

String s2 = null;

ResultSet rs = null;

Connection conn = null;

Statement stmt = null;

String SERVERNAME = "sa";

String PASSWORD = "sa";

String URL = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=mydata";

String sql = "select * from T";

try {

//加载驱动

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

//取得与指定数据库的连接

conn = DriverManager.getConnection(URL,SERVERNAME,PASSWORD);

stmt = conn.createStatement(

//对滚动不敏感,即可以上下滚动

ResultSet.TYPE_SCROLL_INSENSITIVE,

//并发时,只读不能改

ResultSet.CONCUR_READ_ONLY);

rs = stmt.executeQuery(sql);

s2 = "教师工号" + " "+ "教师姓名" + " " +"课程";

ta.append(s2 + '\n');

//游标指向下一条

while(rs.next()) {

s1 = " " + rs.getString(1)+" "+ rs.getString(2) + " " + rs.getString(3);

ta.append(s1 + '\n');

}

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch(SQLException ex){

ex.printStackTrace();

}

}

}

四.实验结果

五.实验分析

实验二的话我是先看了马士兵老师的JDBC的视频后完成的,视频里的是JAVA与Oracle的连接。但是我们用的是SQL Server 2000的,于是我谷歌了一下关于JAVA与SQL Server 2000的连接,期间下载SP4,即SQL Server 2000的插件。和msbase.jar、mssqlserver.jar、msutil.jar三个驱动jar包,并在打开Lomboz Eclipse软件是在源文件下引入这三个包。结果与使用SQL查询语句的结果一样。

实验总结:

通过此次实验,让我对关系数据库语言SQL有了进一步的深入理解。熟悉了SQL的数据定义、数据查询、数据更新、视图操作以及嵌入式SQL等操作,受益匪浅。更加让我高兴的是,这次实验提升了我们的自学能力。我明白了自学能力在学习过程中的重要性。

关系数据库标准语言SQL练习题

关系数据库标准语言 S Q L练习题 Company number:【0089WT-8898YT-W8CCB-BUUT-202108】

第3章关系数据库标准语言SQL 一.单项选择题 1.SQL语言是▁▁▁▁▁的语言,易学习。 A.过程化 B非过程化 C.格式化 D导航式 B 2.SQL语言是▁▁▁▁▁语言。 A.层次数据库 B.网络数据库 C.关系数据库 D非数据库 3.SQL语言具有▁▁▁▁▁的功能。 A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 C.数据定义、关系规范化、数据操纵 4.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。其中最重要的,也是使用最频繁的语句是▁▁▁▁▁。A.SELECT B.INSERT C.UPDATE D.DELETE 5.在关系代数运算中,五种基本运算为▁▁▁▁▁。 A.并、差、选择、投影、自然连接 B.并、差、交、选择、投影 C.并、差、选择、投影、乘积 D.并、差、交、选择、乘积 6 .SQL语言中,实现数据检索的语句是▁▁▁▁▁。 A.SELECT B.INSERT C.UPDATE D.DELETE 7.下列SQL语句中,修改表结构的是▁▁▁▁▁。 A.ALTER B.CREATE C.UPDATE D.INSERT 第8到第11题基于这样的三个表,即学生表S、课程表C和学生选课表SC,他们的结构如下: S(S#,SN,SEX,AGE,DEPT); C(C#,CN); SC(S#,C#,GRADE) 其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程CN为课程名,GPADE为成绩。 8.检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是▁▁A▁▁。 A.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=“王华”) B.SELECT SN,AGE,SEX FROM S WHERE SN=“王华” C.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE WHERE SN=“王华”) D.SELECT SN,AGE,SEX FROM S WHERE AGE>王华.AGE 9.检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是▁▁D▁▁。 A.SELECT S# FORM SC WHERE C#=“C2”AND GRADE>=(SELECT GRADE FORM SC WHERE C#=“C2”) B.SELECT S# FORM SC WHERE C#=“C2”AND GRADE IN(SELECT GRADE FORM SC WHERE C#=“C2”) C.SELECT S# FORM SC WHERE C#=“C2”AND GRADE NOT IN(SELECT GRADE FORM SC WHERE C#=“C2”) D.SELECT S# FORM SC WHERE C#=“C2”AND GRADE>=ALL(SELECT GRADE FORM SC WHERE C#=“C2”)

C语言常用函数手册

1.分类函数,所在函数库为ctype.h int isalpha(int ch) 若ch是字母('A'-'Z','a'-'z')返回非0值,否则返回0 int isalnum(int ch) 若ch是字母('A'-'Z','a'-'z')或数字('0'-'9'),返回非0值,否则返回0 int isascii(int ch) 若ch是字符(ASCII码中的0-127)返回非0值,否则返回0 int iscntrl(int ch) 若ch是作废字符(0x7F)或普通控制字符(0x00-0x1F) 返回非0值,否则返回0 int isdigit(int ch) 若ch是数字('0'-'9')返回非0值,否则返回0 int isgraph(int ch) 若ch是可打印字符(不含空格)(0x21-0x7E)返回非0值,否则返回0 int islower(int ch) 若ch是小写字母('a'-'z')返回非0值,否则返回0 int isprint(int ch) 若ch是可打印字符(含空格)(0x20-0x7E)返回非0值,否则返回0 int ispunct(int ch) 若ch是标点字符(0x00-0x1F)返回非0值,否则返回0 int isspace(int ch) 若ch是空格(' '),水平制表符('\t'),回车符('\r'), 走纸换行('\f'),垂直制表符('\v'),换行符('\n') 返回非0值,否则返回0 int isupper(int ch) 若ch是大写字母('A'-'Z')返回非0值,否则返回0 int isxdigit(int ch) 若ch是16进制数('0'-'9','A'-'F','a'-'f')返回非0值, 否则返回0 int tolower(int ch) 若ch是大写字母('A'-'Z')返回相应的小写字母('a'-'z') int toupper(int ch) 若ch是小写字母('a'-'z')返回相应的大写字母('A'-'Z') 2.数学函数,所在函数库为math.h、stdlib.h、string.h、float.h int abs(int i) 返回整型参数i的绝对值 double cabs(struct complex znum) 返回复数znum的绝对值 double fabs(double x) 返回双精度参数x的绝对值 long labs(long n) 返回长整型参数n的绝对值 double exp(double x) 返回指数函数ex的值 double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存贮在eptr中double ldexp(double value,int exp); 返回value*2exp的值 double log(double x) 返回logex的值 double log10(double x) 返回log10x的值 double pow(double x,double y) 返回xy的值 double pow10(int p) 返回10p的值 double sqrt(double x) 返回+√x的值 double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度 double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度 double atan(double x) 返回x的反正切tan-1(x)值,x为弧度 double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x为弧度double cos(double x) 返回x的余弦cos(x)值,x为弧度 double sin(double x) 返回x的正弦sin(x)值,x为弧度 double tan(double x) 返回x的正切tan(x)值,x为弧度 double cosh(double x) 返回x的双曲余弦cosh(x)值,x为弧度 double sinh(double x) 返回x的双曲正弦sinh(x)值,x为弧度

C语言标准库函数2012

常用C语言标准库函数2012 C语言编译系统提供了众多的预定义库函数和宏。用户在编写程序时,可以直接调用这些库函数和宏。这里选择了初学者常用的一些库函数,简单介绍了各函数的用法和所在的头文件。 1.测试函数 Isalnum 原型:int isalnum(int c) 功能:测试参数c是否为字母或数字:是则返回非零;否则返回零 头文件:ctype.h Isapha 原型:int isapha(int c) 功能:测试参数c是否为字母:是则返回非零;否则返回零 头文件:ctype.h Isascii 原型:int isascii(int c) 功能:测试参数c是否为ASCII码(0x00~0x7F):是则返回非零;否则返回零 头文件:ctype.h Iscntrl 原型:int iscntrl(int c) 功能:测试参数c是否为控制字符(0x00~0x1F、0x7F):是则返回非零;否则返回零 头文件:ctype.h Isdigit 原型:int isdigit(int c) 功能:测试参数c是否为数字:是则返回非零;否则返回零。 头文件:ctype.h Isgraph 原型:int isgraph(int c) 功能:测试参数c是否为可打印字符(0x21~0x7E):是则返回非零;否则返回零头文件:ctype.h Islower 原型:int islower(int c) 功能:测试参数c是否为小写字母:是则返回非零;否则返回零 头文件:ctype.h

Isprint 原型:int isprint(int c) 功能:测试参数c是否为可打印字符(含空格符0x20~0x7E):是则返回非零;否则返回零 头文件:ctype.h Ispunct 原型:int ispunct(int c) 功能:测试参数c是否为标点符号:是则返回非零;否则返回零 头文件:ctype.h Isupper 原型:int isupper(inr c) 功能:测试参数c是否为大写字母:是则返回非零;否则返回零 Isxdigit 原型:int isxdigit(int c) 功能:测试参数c是否为十六进制数:是则返回非零;否则返回零 2.数学函数 abs 原型:int abs(int i) 功能:返回整数型参数i的绝对值 头文件:stdlib.h,math.h acos 原型:double acos(double x) 功能:返回双精度参数x的反余弦三角函数值 头文件:math.h asin 原型:double asin(double x) 功能:返回双精度参数x的反正弦三角函数值 头文件:math.h atan 原型:double atan(double x) 功能:返回双精度参数的反正切三角函数值 头文件:math.h atan2 原型:double atan2(double y,double x) 功能:返回双精度参数y和x由式y/x所计算的反正切三角函数值 头文件:math.h cabs

答案《关系数据库与SQL语言》第一章练习题

《关系数据库与SQL语言》第一章练习题 一、选择题 1、实体完整性要求主属性不能取空值,这一点通常就是通过(B) A、定义外键来保证 B、定义主键来保证 C、用户定义完整性来保证 D、关系系统自动保证 2、建立在计算机外部设备上的结构化的、有联系的数据集合就是( A)。 A、数据库 B、数据库管理系统 C、数据结构 D、数据文件 3、英文缩写 DBA 就是代表( B)。 A、数据库管理系统 B、数据库管理员 C、数据定义语言 D、数据操纵语言 4、数据库设计中,在概念设计阶段可用 E — R 方法,其设计出的图称为( A)。 A、实体联系图 B、实用概念图 C、实体表示图 D、实物示意图 5、在概念设计阶段可用 E —R 图,其中“矩形框”表示实体,( D)表示实体间联系。 A、圆形框 B、椭圆框 C、箭头 D、菱形框 6、一个教师能开多门课程,一门课程有许多教师会开,实体课程与实体教师间就是 ( C)。 A、一对一的联系 B、一对多的联系 C、多对多的联系 D、多对一的联系 7、两个不同型实体间( B)。 A、只有一种联系 B、可以有多种联系 C、不能有联系 D、只有多对多的联系 8、不就是数据库系统中的数据模型就是( D)。 A、层次模型 B、网状模型 C、关系模型 D、多用户型 9、对于两实体间 m:n 联系,必须对“联系”单独建立( D),用来联系双方实体。 A、一个实体 B、一个属性 C、一个指针 D、一个关系 10、模式的逻辑子集通常称为( C) A .存储模式 B .内模式 C .外模式 D .模式 11、要保证数据库物理数据独立性,需要修改的就是 ( B ) 。 A、模式 B、模式与内模式的映射 C、模式与外模式的映射 D、内模式 12、下列四项中,不属于数据库特点的就是 ( C ) 。 A、数据共享 B、数据完整性 C、数据冗余很高 D、数据独立性高 13、数据库中存储的就是 ( D ) 。 A、数据 B、数据模型 C、数据之间的联系 D、数据以及数据之间的联系 14、表示数据库的概念模型一般使用 ( C) 。 A、用户活动图 B、数据流图 C、 E — R 图 D、流程图 15、现有关系表:学生(宿舍编号,宿舍地址,学号,姓名,性别,专业)的主键为:( B ) A、宿舍编号 B、学号 C、宿舍地址,姓名 D、宿舍编号,学号 16、公司中有多个部门与多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从部门到职员的联系类型就是( D ) A、多对多 B、一对一 C、多对一 D、一对多 17、现有如下关系:职工(职工号、姓名、性别、职务),部门(部门编号、部门名称、职工号、姓名、部门地址、电话)其中,部门关系中的外键就是( C ) A、部门编号 B、姓名 C、职工号 D、职工号,姓名

关系数据库标准语言SQL(一)

关系数据库标准语言SQL(一) (总分:19.00,做题时间:90分钟) 一、{{B}}选择题{{/B}}(总题数:7,分数:7.00) 1.在SQL语言中,删除视图的语句是 ______。 (分数:1.00) A.ALTER VIEW B.DROP VIEW √ C.ZAP VIEW D.DELETE VIEW 解析: 2.关系数据库的数据语言是 ______ 的语言,其核心部分为查询,因此又称为查询语言。 (分数:1.00) A.过程化 B.非过程化√ C.宿主 D.系列化 解析: 3.实现“收回用户U4对学生表STUD中学号(XH)的修改权”这一功能的正确SQL语句是 ______。 (分数:1.00) A.REVOKE UPDAE(XON TABLE FROM U4 B.REVOKE UPDAE(XON TABLE STUD FROM PUBLIC C.REVOKE UPDAE(XON TABLE STUD FROM U4 √ D.REVOKE ALL PRIVILEGES ON TABLE FROM U4 解析: 4.在嵌入式SQL中,主语言向SQL语句输入数据,主要用主变量来实现。为了区别字段名,要求主变量名前必须加符号 ______ 作标志。 (分数:1.00) A.;(分号) B.、(顿号) C.+(加号) D.:(冒号) √ 解析: 5.在SQL语言中,CREATE VIEW语句用于建立视图。如果要求对视图更新时,必须满足子查询中的条件表达式,应当在该语句中使用短语 ______。 (分数:1.00) A.WITH UPDATE B.WITH INSERT C.WITH DELETE D.WITH CHECK OPTION √ 解析: 6.为使程序员编程时既可使用数据语言又可使用常规的程序设计语言,数据库系统需要把数据库语言嵌入到 ______ 中, (分数:1.00) A.编译程序 B.操作系统 C.中间语言 D.宿主语言√

关系数据库与SQL语言模拟试卷

关系数据库与SQL语言(共100分) 一.单项选择题(本大题共20题,每小题2分,共40分) 1.候选码中的属性称为_________。[ ] A.非主属性B.主属性 C.复合属性D.关键属性 2.下列“部门”关系中,因哪个属性而使它不满足第一范式________?[ ] 部门(部门号,部门名,部门成员,部门总经理) A.部门总经理B.部门名 C.部门号D.部门成员 3.DML是_____________。[ ] A.数据定义语言B.数据操纵语言 C.数据控制语言D.数据查询语言 4. 关系模型的数据结构是_______________。[ ] A.表B.树 C.有向图D.网络 5.E-R图是进行概念模型设计的有力工具,它的基本成分包含_______________。[ ] A.数据及流向、加工、原点与终点、文件 B.数据、数据类型、长度、取值范围 C.数据项、数据结构、数据流 D.实体型、属性、联系 6.下列有关视图的说法,哪个是正确的。[ ] A.视图是一基本表的子集 B.视图是另一视图的子集 C.视图是关系模型的外模式 D.视图是由一个或多个基本表导出的虚表 7.在SQL语言中,删除表中数据时,应使用的命令是_______________。[ ] A.DELETE B.UPDATE C.ALTER D.DROP 8. 对关系执行“投影”运算后得到的新关系与原关系[ ] A.相同B.相容 C.元组数相同D.不相容 9.DBMS用于保存所有更新数据库操作的文件是____________。[ ] A.事务日志B.数据库 C.数据字典D.索引 10.在关系对应的二维表中,以下说法________是不正确的。[ ]

关系数据库与SQL语言练习

第一章 一、选择题 在下列各题A),B),C),D)四个选项中选择一个正确的。 1,数据库(DB)、数据库系统(DBS)、数据库管理系统(DBMS)之间的关系是( C )。 A)DB包含DBS和DBMS B)DBMS包含DB和DBS C)DBS包含DB和DBMS D)没有任何关系 2.数据库系统的核心是( B )。 A)数据模型 B)数据库管理系统 C)数据库 D)数据库管理员 3.数据独立性是数据库技术的重要特点之一。所谓数据独立性是指( D )。 A)数据与程序独立存放 B)不同的数据被存放在不同的文件中 C)不同的数据只能被对应的应用程序所使用 D)以上三种说法都不对 4.用树形结构表示实体之间联系的模型是( C )。 A)关系模型 B)网状模型 C)层次模型 D)以上三个都是 5.“商品”与“顾客”两个实体集之间联系一般是( D )。 A)一对一 B)一对多 C)多对一 D)多对多 6.在E-R图中,.用来表示实体的图形是( A )。 A)矩形 B)椭圆形 C)菱形 D)三角形 7.在数据库管理系统提供的数据语言中,负责数据的模式定义与数据的物理存取构建的是( A )。 A)数据定义语言 B)数据转换语言 c)数据操纵语言 D)数据控制语言 8.数据库系统的三级模式结构中,下列不属于三级模式的是( B )。. A)内模式 B)抽象模式 c)外模式 D)概念模式 9.在数据库管理系统提供的语言中,负责数据的完整性、安全性的定义与检查以及并发控制、故障恢复等功能的是( D )。 A)数据定义语言 B)数据转换语言 c)数据操纵语言 D)数据控制语言 10.下面关于数据系统叙述正确的是( B )。 A)数据库系统避免了一切冗余、’ B)数据库系统减少了数据冗余 c)数据库系统比文件能管理更多的数据 D)、数据库系统中数据的一致性是指数据类型的一致 11.下列叙述中,错误的是( C )。 A)数据库技术的根本目标是要解决数据共享的问题 B)数据库设计是指设计一个能满足用户要求,性能良好的数据库 c)数据库系统中,数据的物理结构必须与逻辑结构一致 D)数据库系统是一个独立的系统,但是需要操作系统的支持 12.在数据库管理系统提供的数据语言中,负责数据的查询及增、删、改等操作的是( D )。 A)数据定义语言 B)数据转换语言 c)数据控制语言 D)数据操纵语言

关系数据库标准语言SQL练习题

第3章关系数据库标准语言SQL 一.单项选择题 1.SQL语言是▁▁▁▁▁的语言,易学习。 A.过程化 B非过程化 C.格式化 D导航式 B 2.SQL语言是▁▁▁▁▁语言。 A.层次数据库 B.网络数据库 C.关系数据库 D非数据库 3.SQL语言具有▁▁▁▁▁的功能。 A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 C.数据定义、关系规范化、数据操纵 4.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。其中最重要的,也是使用最频繁的语句是▁▁▁▁▁。A.SELECT B.INSERT C.UPDATE D.DELETE 5.在关系代数运算中,五种基本运算为▁▁▁▁▁。 A.并、差、选择、投影、自然连接 B.并、差、交、选择、投影 C.并、差、选择、投影、乘积 D.并、差、交、选择、乘积 6 .SQL语言中,实现数据检索的语句是▁▁▁▁▁。 A.SELECT B.INSERT C.UPDATE D.DELETE 7.下列SQL语句中,修改表结构的是▁▁▁▁▁。 A.ALTER B.CREATE C.UPDATE D.INSERT 第8到第11题基于这样的三个表,即学生表S、课程表C和学生选课表SC,他们的结构如下: S(S#,SN,SEX,AGE,DEPT); C(C#,CN); SC(S#,C#,GRADE) 其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程CN为课程名,GPADE为成绩。 8.检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是▁▁A▁▁。 A.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=“王华”) B.SELECT SN,AGE,SEX FROM S WHERE SN=“王华” C.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE WHERE SN=“王华”) D.SELECT SN,AGE,SEX FROM S WHERE AGE>王华.AGE 9.检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是▁▁D▁▁。 A.SELECT S# FORM SC WHERE C#=“C2”AND GRADE>=(SELECT GRADE FORM SC WHERE C#=“C2”) B.SELECT S# FORM SC WHERE C#=“C2”AND GRADE IN(SELECT GRADE FORM SC WHERE C#=“C2”) C.SELECT S# FORM SC WHERE C#=“C2”AND GRADE NOT IN(SELECT GRADE FORM SC WHERE C#=“C2”) D.SELECT S# FORM SC WHERE C#=“C2”AND GRADE>=ALL(SELECT GRADE FORM SC WHERE C#=“C2”) 10.检索学生姓名及其所选修课程号和成绩。正确的SELECT语句是▁▁▁C▁▁。

关系数据库与SQL语言考试试题(doc 6页)

关系数据库与SQL语言考试试题(doc 6页)

关系数据库与SQL语言(共100分) A卷 一、单项选择题(本大题共20小题,每小题2分,共40分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将正确答案代码填写在答题纸相应位置上。 1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是阶段。 A.数据库系统 B.文件系统 C.人工管理 D.数据项管理 2.数据库管理系统能实现对数据库中数据的查询、插入、修改和删除等操作,这种功能称为。 A.数据定义功能 B.数据管理功能 C.数据操纵功能D.数据控制功能 3.下述关于数据库系统的正确叙述是。 A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余 C.数据库系统中数据的一致性是指数据类型一致 D.数据库系统比文件系统能管理更多的数据 4.在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是。 A.外模式 B.内模式 C.存储模式 D.模式 5.数据库三级模式体系结构的划分,有利于保持数据库的。 A.数据独立性 B.数据安全性 C.结构规范化 D.操作可行性 6.关系数据模型。 A.只能表示实体间的1∶1联系 B.只能表示实体间的1∶n联系

C.只能表示实体间的m∶n联系 D.可以表示实体间的上述三种联系 7.实体是信息世界中的术语,与之对应的数据库术语为。 A.文件 B.数据库 C.字段 D.记录 8.关系数据库管理系统应能实现的专门关系运算包括。 A.排序、索引、统计 B.选择、投影、连接 C.关联、更新、排序 D.显示、打印、制表 9.在关系代数的专门关系运算中,从表中取出满足条件的属性的操作称为投影;从表中选出满足某种条件的元组的操作称为选择;将两个关系中具有共同属性值的元组连接到一起构成新表的操作称为。 A.选择 B.投影 C.连接 D.扫描 10.设有关系R,按条件f对关系R进行选择,正确的是。 A.R?R B.R ?? R C.σ f (R) D.∏ f (R) 11.SQL语言是的语言,易学习。 A.过程化 B.非过程化 C.格式化 D.导航式 12.SQL语言中,实现数据检索的语句是。 A.SELECT B.INSERT C.UPDATE D.DELETE 13.在SQL语言中,对输出结果排序的是_____________。 A、WHERE B、ORDER BY C、GROUP BY D、HAVING 14.在SELECT语句中使用MAX(列名)时,列名____________。 A.必须是数值型 B.必须是字符型 C.必须是数值型或字符型 D.不限制数据类型 15.假定零件关系是P(P#,PNAME,COLOR,WEIGHT),供应商关系是S(S#,SNAME,CITY),供应关系是SP(S#,P#,QUATY)。 要查找提供“螺母”零件的供应商的名字,将涉及到关系。 A.S B.SP,P C.S,SP D.S,P,SP 第16到第18题基于这样的三个表即职工表EMPLOYEE、供应商表SUPPLIER和订

关系数据库标准语言SQL汇总

关系数据库标准语言SQL 一、SQL概述与查询功能 1、SQL概述 SQL是Structured Query Language(结构化查询语言)的缩写。可以说查询是SQL语言的重要组成部分,但不是全部,SQL还包括数据定义、数据操纵和数据控制功能等部分。Visual FoxPro在SQL方面支持数据定义、数据查询和数据操纵功能,但在具体表现方面也存在一些差异,由于安全控制方面的缺陷,没有提供数据控制功能。 2、查询功能 Visual FoxPro的SQL SELECT命令格式如下:SELECT……FROM……[WHERE……][GROUP BY……][HAVING……][UNION[ALL]……][ORDER BY……] SELECT [ALL|DISTINCT][<别名>.]<选项>[AS<显示列名>][,[<别名>.]<选项>[AS<显示列名>]…]FROM [<数据库名>!]<表名>[[AS]<本地别名>][[INNER|LEFT|[OUTER]|RIGHT[OUTER]|FULL[OUTER]JI ON<数据库名>!]<表名>[AS]<本地别名>][ON<连接条件>…][[INTO<目标>|[TO FILE<文件名>][ADDITIVE]|TO PRINTER [PROMPT]|TO SCREEN]][PREFERENCE<参照名>][NOCONSOLE][PLAIN][NOWAIT][WHERE<连接条件

1>[AND <连接条件2>…]AND|OR <过滤条件1>[AND|OR <过滤条件2>…]]][GROUP BY <分组列名1>[,<分组列名2>…]][HAVING<过滤条件>][UNION[ALL]SELECT命令][ORDER BY <排序选项1>[ASC|DESC][,<排序选项2>[ASC|DESC]…]] SELECT说明要查询的数据。 FROM说明要查询的数据来自哪个(些)表。 WHERE说明查询条件,即选择元组的条件。 GROUP BY用于对查询结果进行分组,可以利用它进行分类汇总。HAVING必须跟随GROUP BY使用,客观存它用来限定分组必须满足的条件。 ORDER BY用来对查询的结果进行排序。 数据查询语句 SQL数据查询命令是SELECT命令。该命令的基本框架是SELECT…FROM…WHERE,它包含输出字段、数据来源、查询条件等基本子句。在这种固定格式中,可以不用WHERE,但是SELECT 和FROM是必备的。 基本查询 所谓基本查询是指无条件查询,其常用格式是: SELECT [ALL|DISTINCT][〈别名〉.]〈选项〉[AS 〈显示列名〉][,[〈别名〉.]〈选项〉[AS 〈显示列名〉…]]FROM 〈表

关系数据库与SQL语言试卷及(参考答案)

关系数据库与SQL语言(共1 00分) 一、单项选择题(本大题共20小题,每小题2分,共40分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将正确答案代码填写在答题纸相应位置上。 1.在数据库技术领域,术语DBMS指的是( A ) A.数据库管理系统B.数据库系统C.对象关系数据库系统D.分布式数据库 2.以下常见软件中,属于数据库管理系统的是( B ) A.Word 2007 B.Oracle 10G C.Visio 2003 D.QQ 2009 3.以下关于数据冗余的叙述中,不平确的是( A ) A.数据库中不应该存在任何冗余B.冗余的存在将给数据库的维护增加困难 C.冗余的存在可能导致数据的不一致性D.数据冗余是指在两个或多个文件或表中出现重复的数据 4.SQL Server 2000是常用的一种数据库产品,它所基于的数据模型是( B ) A.网状模型B.关系模型C.层次模型D.瀑布模型 5.假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选修课关系是SC(S#,C#,GRADE)。要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系( B ) A.S B.SC,C C.S,C,SC D.S,SC 6.设有关系R和S如图-1: 则R与S进行差运算,其结果的元组数为( D ) A.1 B. 5 C.3 D. 2 7.一个规范化的关系模式至少应属于(D ) A BCNF B 3NF C 2NF D 1NF 8.设有关系R如图-2所示: 则进行关系运算后所得结果的元组数为(D ) A 2 B 3 C 4 D 5 9.当关系模式R(A,B)属于3NF,下列说法中正确的是(A ) A 一定消除了插入和删除异常 B 可能仍存在插入或删除异常 C 一定消除了插入异常 D 一定消除了删除异常 10. 在关系R1(S,SN,D)和R2(D,CN,NM)中,R1的主键是S,R2的主键是D,则D在R1中称为(C )

实验一 关系数据库标准语言SQL

实验一关系数据库标准语言SQL 班级:姓名:学号: 任课教师:实验教师:上机时间: 【实验目的】 1、MS SQL SERVER认识及其环境熟悉,了解T-SQL对标准SQL的扩充。 2、掌握T-SQL环境下数据定义包括数据库、基本表、视图、索引定义。 3、掌握T-SQL环境下数据操纵包括数据插入、删除、修改。 4、掌握T-SQL环境下数据查询及其各种变化。 5、理解T-SQL环境下数据控制。 【实验性质】 验证性实验 【实验学时】 4H 【实验内容】 设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式: S(SNO,SNAME,STATUS,CITY) P(PNO,PNAME,COLOR,WEIGHT) J(JNO,JNAME,CITY) SPJ(SNO,PNO,JNO,QTY) 供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成; 零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成; 工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成; 供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。 今有若干数据如下:

请根据以上内容完成下面题目,写出相应的SQL语句。(空位不够请自行续页) 1、创建数据库,置为当前数据库 2、创建表 3、插入数据 4、请用SQL语句完成下面题目的查询。 (1)求供应工程J1零件的供应商号码SNO: (2)求供应工程J1零件P1的供应商号码SNO: (3)求供应工程J1零件为红色的供应商号码SNO: (4)求没有使用天津供应商生产的红色零件的工程号JNO: (5)求至少用了供应商S1所供应的全部零件的工程号JNO: 5、请用SQL语句完成下面题目的查询。 (1)找出所有供应商的姓名和所在城市。 (2)找出所有零件的名称、颜色、重量。 (3)找出使用供应商S1所供应零件的工程号码。 (4)找出工程项目J2使用的各种零件的名称及其数量。

C语言中常用的库函数

字符处理函数 本类别函数用于对单个字符进行处理,包括字符的类别测试和字符的大小写转换 头文件ctype.h 函数列表<> 函数类别函数用途详细说明 字符测试是否字母和数字isalnum 是否字母isalpha 是否控制字符iscntrl 是否数字isdigit 是否可显示字符(除空格外)isgraph 是否可显示字符(包括空格)isprint 是否既不是空格,又不是字母和数字的可显示字符ispunct 是否空格isspace 是否大写字母isupper 是否16进制数字(0-9,A-F)字符isxdigit 字符大小写转换函数转换为大写字母toupper 转换为小写字母tolower 地区化 本类别的函数用于处理不同国家的语言差异。 头文件local.h 函数列表 函数类别函数用途详细说明 地区控制地区设置setlocale 数字格式约定查询国家的货币、日期、时间等的格式转换localeconv 数学函数 本分类给出了各种数学计算函数,必须提醒的是ANSI C标准中的数据格式并不符合IEEE754标准,一些C语言编译器却遵循IEEE754(例如frinklin C51) 头文件math.h 函数列表 函数类别函数用途详细说明 错误条件处理定义域错误(函数的输入参数值不在规定的范围内) 值域错误(函数的返回值不在规定的范围内) 三角函数反余弦acos 反正弦asin

反正切atan 反正切2 atan2 余弦cos 正弦sin 正切tan 双曲函数双曲余弦cosh 双曲正弦sinh 双曲正切tanh 指数和对数指数函数exp 指数分解函数frexp 乘积指数函数fdexp 自然对数log 以10为底的对数log10 浮点数分解函数modf 幂函数幂函数pow 平方根函数sqrt 整数截断,绝对值和求余数函数求下限接近整数ceil 绝对值fabs 求上限接近整数floor 求余数fmod 本分类函数用于实现在不同底函数之间直接跳转代码。头文件setjmp.h io.h 函数列表 函数类别函数用途详细说明 保存调用环境setjmp 恢复调用环境longjmp 信号处理 该分类函数用于处理那些在程序执行过程中发生例外的情况。 头文件signal.h 函数列表 函数类别函数用途详细说明 指定信号处理函数signal 发送信号raise 可变参数处理 本类函数用于实现诸如printf,scanf等参数数量可变底函数。

关系数据库与SQL语言的练习试卷

关系数据库与SQL语言的练习试卷 一.选择题(每题1分) ⒈在SQL语言的SELECT语句中,实现投影操作的是哪个子句_____。 A) select B) from C) where D) group by ⒉在数据库中可以创建和删除表、视图、索引,可以修改表。这是因为数据库管理系统提供了 A)数据定义功能 B)数据操纵功能 C)数据维护功能 D)数据控制功能 ⒊数据库系统一般由哪些成分构成? I.数据库 II.数据库管理员 III.数据库管理系统及其工具 IV.用户 V.操作系统 VI.应用系统 A)I、II 和III B)I、II、III和IV C)I、II、III、IV和VI D)全部 ⒋在关系数据库中,索引(index)是三级模式结构中的 A)概念模式B)内模式C)模式D)外模式 ⒌关系模型有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。定义外键实现的是哪一(些)类完整性? A)实体完整性B)参照完整性C)用户定义的完整性 D)实体完整性、参照完整性和用户定义的完整性

⒍在下列关系代数的操作中,哪一个不属于专门的关系运算? A)自然连接 B)投影C)广义笛卡尔积 D)q 连接 ⒎结构化查询语言SQL在哪年被国际标准化组织(ISO)采纳,成为关系数据库语言的国际标准? A)1986 B)1987 C)1988 D)1989 ⒏下面关于SQL语言的说法中,哪一种说法是错误的? A)一个SQL数据库就是一个基本表 B)SQL语言支持数据库的三级模式结构 C)一个基本表可以跨多个存储文件存放,一个存储文件可以存放一个或多个基本表 D)SQL的一个表可以是一个基本表,也可以是一个视图 ⒐下面所列条目中,哪一条不是标准的SQL语句? A)ALTER TABLE B)ALTER VIEW C)CREATE TABLE D)CREATE VIEW 下面第(10)至(12)题,基于"学生-选课-课程"数据库中如下三个关系: S(S#,SNAME,SEX,AGE), SC(S#,C#,GRADE), C(C#,CNAME,TEACHER)⒑查找学生号为"200301188"的学生的"数据库"课程的成绩,至少将使用关系 A)S和SC B)SC和C C)S和C D)S、SC和C

关系数据库与SQL语言练习答案(完整版)

一. 1.选择题: 1.B 2.B 3.C 4.D 5.A 6.B 7.C 8.C 9.D 10.B 11.C 12.A 13.C 14.B 15.A 16.C 17.A 18.C 19.D 2.填空 1. 外模式 2. 个体 3. 实体集 4. 一对一,一对多,多对多 5. 型值 6. 层次模型网关模型关系模型 7. 并发性控制 8. 集成性 9. 封装对象类 10. 多媒体数据库 3.简答: 1. 数据: 描述事物的符号记录称为数据。数据的种类有文字、图形、图象、声音、正文等等。数据与其语义是不可分的。 数据库: 数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。

数据库系统: 数据库系统(dbs)是指在计算机系统中引入数据库后的系统构成。数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。 数据库管理系统: 数据库管理系统(dbms)是位于用户与操作系统之间的一层数据管理软件。用于科学地组织和存储数据、高效地获取和维护数据。dbms主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。 2. 使用数据库系统的好处是由数据库管理系统的特点或优点决定的。 使用数据库系统的好处很多,例如可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担等。 使用数据库系统可以大大提高应用开发的效率。因为在数据库系统中应用程序不必考虑数据的定义、存储和数据存取的具体路径,这些工作都由dbms来完成。用一个通俗的比喻,使用了dbms就如有了一个好参谋好助手,许多具体的技术工作都由这个助手来完成。开发人员就可以专注于应用逻辑的设计而不必为管理数据的许许多多复杂的细节操心。 还有,当应用逻辑改变,数据的逻辑结构需要改变时,由于数据库系统提供了数据与程序之间的独立性。数据逻辑结构的改变是dba的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序。从而既简化了应用程序的编制,又大大减少了应用程序的维护和修改。使用数据库系统可以减轻数据库系统管理人员维护系统的负担。因为dbms在数据库建立、运用和维护时对数据库进行统一的管理和控制,包括数据的完整性、安全性,多用户并发控制,故障恢复等等都由dbms执行。 总之,使用数据库系统的优点是很多的,既便于数据的集中管理,控制数据冗余,可以提高数据的利用率和一致性,又有利于应用程序的开发和维护。读者可以在自己今后的工作中结合具体应用,认真加以体会和总结。 3. 文件系统与数据库系统的区别: 文件系统面向某一应用程序,共享性差、冗余度大,独立性差,纪录内有结构、整体无结构,应用程序自己控制。 数据库系统面向现实世界,共享性高、冗余度小,具有高度的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力。 4. 实体,实体型,实体集,属性,码,实体联系图(e-r图) 实体:客观存在并可以相互区分的事物叫实体。 实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体称为实体型。 实体集:同型实体的集合称为实体集。 属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。 码:唯一标识实体的属性集称为码。 实体联系图:e-r图提供了表示实体型、属性和联系的方法: ·实体型:用矩形表示,矩形框内写明实体名。

C语言常用的库函数

库函数并不是C语言的一部分,它是由编译系统根据一般用户的需要编制并 提供给用户使用的一组程序。每一种C编译系统都提供了一批库函数,不同的 编译系统所提供的库函数的数目和函数名以及函数功能是不完全相同的。ANSI C标准提出了一批建议提供的标准库函数。它包括了目前多数C编译系统所提供 的库函数,但也有一些是某些C编译系统未曾实现的。考虑到通用性,本附录 列出ANSI C建议的常用库函数。 由于C库函数的种类和数目很多,例如还有屏幕和图形函数、时间日期函数、 与系统有关的函数等,每一类函数又包括各种功能的函数,限于篇幅,本附录不 能全部介绍,只从教学需要的角度列出最基本的。读者在编写C程序时可根据 需要,查阅有关系统的函数使用手册。 1.数学函数 使用数学函数时,应该在源文件中使用预编译命令: #include或#include "math.h" 函数名函数原型功能返回值 acos double acos(double x);计算arccos x的值,其中-1<=x<=1计算结果 asin double asin(double x);计算arcsin x的值,其中-1<=x<=1计算结果 atan double atan(double x);计算arctan x的值计算结果 atan2double atan2(double x, double y);计算arctan x/y的值计算结果 cos double cos(double x);计算cos x的值,其中x的单位为弧度计算结果 cosh double cosh(double x);计算x的双曲余弦cosh x的值计算结果 exp double exp(double x);求e x的值计算结果

相关文档
最新文档