❶ 在数据库中,schema,catalog分别指的是什么
数据库 Catalog Schema 概念解读
按照sql标准的解释,在SQL环境下Catalog和Schema都属于抽象概念,可以把它们理解为一个容器或者数据库对象命名空间中的一个层次,主要用来解决命名冲突问题。从概念上说,一个数据库系统包含多个Catalog,每个Catalog又包含多个Schema,而每个Schema又包含多个数据库对象(表、视图、字段等),反过来讲一个数据库对象必然属于一个Schema,而该Schema又必然属于一个Catalog,这样我们就可以得到该数据库对象的完全限定名称从而解决命名冲突的问题了;例如数据库对象表的完全限定名称就可以表示为:Catalog名称.Schema名称.表名称。
详细信息如下:
In Oracle:
server instance == database == catalog: all data managed by same execution engine
schema: namespace within database, identical to user account
user == schema owner == named account: identical to schema, who can connect to database, who owns the schema and use objects possibly in other schemas
to identify any object in running server, you need (schema name + object name)
In PostgreSQL:
server instance == db cluster: all data managed by same execution engine
database == catalog: single database within db cluster, isolated from other databases in same db cluster
schema :namespace within database.It allows many users to use one database without interfering with each other.
user == named account: who can connect to database, own and use objects in each allowed database separately
to identify any object in running server, you need (database name + schema name + object name)
In MySQL:
server instance == not identified with catalog, just a set of databases
database == schema == catalog: a namespace within the server.
user == named account: who can connect to server and use (but can not own - no concept of ownership) objects in one or more databases
to identify any object in running server, you need (database name
❷ 计算机三级数据库技术笔记
网络数据库技术
一、单项选择题
1. 存储在计算机内有结构的数据的集合,称为数据库。
2. 以二维表格的形式组织数据库中的数据,这种数据模型是关系模型
3. 下面哪个数据库属于中小规模数据库管理系统Access。
4. SQL Server 2000有两类数据库,分别是用户数据库和系统数据库。
5. 两个实体:学院和学生之间的联系应为一对多联系。
6. 错误的对象部分限定名是服务器名.对象名。
7. SQL Server字符型包括char和varchar。
8. 下列SQL语句中,修改表结构的是ALTER TABLE。
9. 下列SQL语句中,向表中插入数据的是INSERT。
10. 关系运算的特点是运算的对象和结果都是表。
11. 两个表连接最常用的条件是两个表的某些列值相等,这样的连接称为等值连接。
12. 在数据库查询语句SELECT中,指定分组表达式的子句是GROUP BY子句。
13. 用以限制查询结果集中的行数过多,仅指定部分结果所采用的关键字是TOP。
14. 能够在LIKE子句中匹配多个字符的通配符是%。
15. 统计组中满足条件的行数或总行数的聚合函数是COUNT。
第16到第19题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下:
S(S#, SN, SEX, AGE, DEPT)
C(C#, CN)
SC(S#, C#, GRADE)
其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。
16. 检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是SELECT SN, AGE, SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=‘王华’)
17. 检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是SELECT S# FROM SC WHERE C#=‘C2’ AND GRADE>= ALL (SELECT GRADE FROM SC WHERE C#=‘C2’)
18. 检索学生姓名及其所选修课程的课程号和成绩。正确的SELECT语句是SELECT S.SN, SC.C#, SC.GRADE FROM S, SC WHERE S.S#=SC.S#
19. 检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT语句是SELECT S#, SUM(GRADE) FROM SC WHERE GRADE>=60 GROUP BY S# HAVING COUNT(*)>=4 ORDER BY 2 DESC
20. 创建视图的SQL命令是CREATE VIEW
22. 打开游标所使用的SQL命令是OPEN。
23. 请选出不属于T-SQL语言组成部分的是数据转换语言。
24. 声明变量所使用的关键字为DECLARE。
25. 按照索引的组织方式,可以将索引分为聚集索引和非聚集索引。
26. 又称为列完整性,指给定列输入的有效性的是域完整性。
27. 创建存储过程的SQL命令是CREATE PROCEDURE。
28. 不属于维护数据的触发器的是SELECT。
29. 只备份自上次备份以来发生过变化的数据库的数据,也称增量备份的是差异备份。
30. 数据库系统与外部进行数据交换的操作是导入/导出。
31. 具有数据表达方式简洁、直观,插入、删除、修改操作方便等特点的数据模型是关系模型.
32. 按一定的数据模型组织数据,对数据库进行管理的是数据库管理系统.
33. 对于这样一个关系:学生(学号、姓名、专业名、性别、出生日期、总学分),请选出关系的码(关键字)为学号
34. 两个实体:学院和学生之间的联系应为一对多联系.
35. 数据库对象的名称中各部分使用何种符号隔开“.”。
36. 每个表可以有多少个列设置为标识属性identity1。
37. 下列SQL语句中,创建表结构的是CREATE TABLE。
38. 下列SQL语句中,删除表中的指定数据的是DELETE。
39. 关系运算的特点是运算的对象和结果都是表。
40. 从表中选出指定的属性值(列名)组成一个新表,这样的关系运算是投影。
41. 在数据库查询语句SELECT中,指定表或视图的子句是FROM子句。
42. 在数据库查询语句中,为使用自己选择的列标题而更改查询结果的列标题名,所使用的关键字是AS。
43. 在WHERE子句中,可以使用通配符来对字符串进行模糊匹配的关键字是LIKE。
44. 在学生表XS表中查询总学分尚未定的学生情况,正确的查询语句是SELECT * FROM XS WHERE 总学分 IS NULL。
45. 在查询语句中对查询的结果进行排序,用于升序排序的关键字是ASC。
第16到第19题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下:
S(S#, SN, SEX, AGE, DEPT)
C(C#, CN)
SC(S#, C#, GRADE)
其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。
46. 检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是;SELECT SN, AGE, SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=‘王华’)
47. 检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是;SELECT S# FROM SC WHERE C#=‘C2’ AND GRADE>= ALL (SELECT GRADE FROM SC WHERE C#=‘C2’)
48. 检索学生姓名及其所选修课程的课程号和成绩。正确的SELECT语句是;SELECT S.SN, SC.C#, SC.GRADE FROM S, SC WHERE S.S#=SC.S#
49. 检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT语句是;SELECT S#, SUM(GRADE) FROM SC WHERE GRADE>=60 GROUP BY S# HAVING COUNT(*)>=4 ORDER BY 2 DESC
50. 修改视图的SQL命令是ALTER VIEW。
51. 若用如下的SQL语句创建一个student表:(‘1031’, ‘曾华’, NULL, NULL)
52. 在使用游标时首先要执行的是声明游标。
53. SQL语言是一种用于数据库查询的结构化语言。
54. 请选出不属于T-SQL语言组成部分的是数据转换语言。
55. T-SQL中局部变量用哪种符号进行标识@。
56. 请选择不是索引的作用的是使表中数据排列更为美观。
57. 如果一个表中的一个字段或若干个字段的组合是另一个表的码,则称该字段或字段组合为该表的外码。
58. 执行存储过程的SQL命令是EXEC 。
59. SQL Server 2000中不允许使用的备份介质是只读光盘。
60. 从外部数据源中检索数据,并将数据插入到SQL Server表的过程,称为导入数据。
61、表格中的一行称为一个记录,一列称为一个字段,每列的标题称为字段名。
62、SQL Server 2000有两类数据库:系统数据库和用户数据库。
63、在设计表时列的identity属性:实现的是自动增长的功能。
64、创建数据库的SQL命令:CREATE DATABASE。
65、删除数据库的SQL命令:DROP DATABASE。
66、创建表的SQL命令:CREATE TABLE。
67、删除表的SQL命令:DROP TABLE。
68插入表数据的SQL 命令:INSERT。
69、删除表数据的SQL命令:DELETE和TRUNCATE TABLE,了解二者的区别。
70、修改表数据的SQL命令:UPDATE。
71、使用SQL命令创建视图:CREATE VIEW。
72、使用SQL命令修改视图:ALTER VIEW。
73、当视图所依赖的基本表有多个时,不提倡向该视图插入数据,因为这会影响多个基本表。
74、使用SQL命令删除视图:DROP VIEW。
75、使用SQL命令声明游标:DECLARE。
76、声明游标时SCROLL的用法:可以使游标向前、向后滚动。
77、使用SQL命令打开游标:OPEN。
78、使用SQL命令利用游标读取数据:FETCH。
79、控制游标的关键字:NEXT| PRIOR| FIRST | LAST| ABSOLUTE n| RELATIVE n。
80、使用SQL命令关闭游标:CLOSE。
81、使用SQL命令删除游标:DEALLOCATE。
82、 SQL语言是用于数据库查询的结构化语言。
83、T-SQL语言的组成部分:数据定义语言、数据操纵语言和数据控制语言。
84、变量的命名:以字母、_、@或#开头,后接多个字母、数字、_、@或#构成。
85、运算符与表达式:AND和OR
86、按照索引的组织方式,可将索引分为聚集索引和非聚集索引。
87、惟一索引:不会有两行记录相同的索引键值。
88、使用SQL命令删除索引:DROP INDEX。
89、使用SQL命令创建带参数的存储过程的格式:
CREATE PROCEDURE procere_name @variable_name datatype
AS
<sql_statement>
90、使用SQL命令执行带参数的存储过程:EXEC procere_name value。
91、使用SQL命令修改存储过程的格式:
ALTER PROCEDURE procere_name
AS
<sql_statement>
92、使用SQL命令删除存储过程:DROP PROCEDURE。
93、设计备份策略的指导思想是:以最小的代价恢复数据。
94. 假定学生关系是S(S#, SNAME, SEX, AGE),课程关系是C(C#, CNAME, TEACHER),学生选课关系是SC(S#, C#, GRADE)。要查找选修课程名“COMPUTER”的性别为“女”的学生姓名,将涉及到的关系是:S, C, SC。
95. 数据库对象的名称中各部分使用何种符号隔开“.”。
96. 在SQL Server 2000中,精确整数型包括decimal和numeric。
97. 下列SQL语句中,实现删除数据库的语句是DROP DATABASE。
98. 下列SQL语句中,向表中插入数据的是INSERT。
99. 把两个表中的行按照给定的条件进行拼接而形成新表,这样的关系运算是连接。
100. 在数据库查询语句SELECT中,指定表或视图的子句是FROM子句。
101. 在数据库查询中,消除结果集中的重复行所使用的关键字是DISTINCT。
102. 能够在LIKE子句中匹配单个字符的通配符是“_”。
103. 在查询语句中对查询的结果进行排序,用于降序排序的关键字是。DESC
104. 若用如下的SQL语句创建一个student表:
CREATE TABLE student(NO C(4) NOT NULL,
NAME C(8) NOT NULL,
SEX C(2),
AGE N(2))
可以插入到student表中的是(‘1031’, ‘曾华’, NULL, NULL)
第16到第19题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下:
S(S#, SN, SEX, AGE, DEPT)
C(C#, CN)
SC(S#, C#, GRADE)
其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。
105. 检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是
SELECT SN, AGE, SEX FROM S
WHERE AGE>(SELECT AGE FROM S
WHERE SN=‘王华’)
106. 检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是
SELECT S# FROM SC
WHERE C#=‘C2’ AND GRADE>= ALL
(SELECT GRADE FROM SC
WHERE C#=‘C2’)
107. 检索学生姓名及其所选修课程的课程号和成绩。正确的SELECT语句是
SELECT S.SN, SC.C#, SC.GRADE
FROM S, SC
WHERE S.S#=SC.S#
108. 检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT语句是
SELECT S#, SUM(GRADE) FROM SC
WHERE GRADE>=60
GROUP BY S#
HAVING COUNT(*)>=4
ORDER BY 2 DESC
109. 创建视图的SQL命令是
CREATE VIEW
110、局部变量在声明后初始化为NULL。
二、多项选择题
1. 关系数据库模型的优势在于;数据表达方式简洁、直观;插入、删除、修改操作方便。
2. 请选出SQL Server 2000的两种常用工具;企业管理器;查询分析器。
3. 设计表时空值的作用;表示不需要添加的数据;表示将在以后添加的数据。
4. 数据库的查询语句SELECT的语法格式中不包含以下哪些内容;DROP子句;UPDATE子句。
5. 在比较子查询可以使用的比较关键字包括;ALL ; ANY。
6. 在使用游标读取数据时,可用来滚动记录的关键字是;NEXT;LAST;PRIOR;FIRST。
7. 索引的功能包括;快速存取数据;保证数据记录的惟一性;实现表与表之间的参照完整性;利用索引可减少排序和分组的时间。
8. 数据库中的数据丢失或被破坏的原因是;计算机软、硬件故障;误操作;自然灾害;盗窃。
9. 确定备份频率主要考虑的是;系统恢复的工作量;系统执行的事务量。
10. 导入/导出操作包括数据传输;数据转换。
11. 目前,大型的数据库管理系统主要包括;Oracle;SQL Server;DB2。
12. SQL Server 2000的数据库可以分为;系统数据库;用户数据库。
13. 数据库对象包括;表;视图;索引;存储过程;触发器。
14. 设计表时空值的作用;表示不需要添加的数据;表示将在以后添加的数据。
15. 数据库的查询语句SELECT的语法格式中包括以下哪些内容;FROM子句;WHERE子句;GROUP BY子句;HAVING子句;ORDER BY子句。
16. 可以用于SELECT语句的聚合函数包括;SUM和AVG;MAX和MIN;COUNT。
17. T-SQL语言包含以下哪些重要部分;数据定义语言 ;数据操纵语言;数据控制语言。
18. 数据完整性包括;域完整性;实体完整性;参照完整性。
19. 数据库中的数据丢失或被破坏的原因是;计算机软、硬件故障;误操作;自然灾害;盗窃。
20. 对导入/导出操作描述正确的是;导入/导出是数据库系统与外部进行数据交换的操作;导入数据是把其他系统的数据引入到SQL Server的数据库中;导出数据是把数据库从SQL Server数据库中引导其他字段。
21、流行的中小型数据库包括Access和Visual Foxpro。大型数据库管理系统包括Oracle,Microsoft的SQL Server,Sybase和IBM的DB2。
22、数据模型分为关系模型、层次模型、网状模型。所划分原则是数据之间的联系。关系模型优势:数据表达方式简洁、直观,插入、删除、修改操作方便。
23、实体之间的联系有如下几种:一对一的联系(1: 1)、一对多的联系(1: n)、多对多的联系(m: n)。
24、 SQL Server 2000的两种常用工具:企业管理器,查询分析器。
25、SQL Server 2000的数据库对象包括:表、视图、索引、存储过程、触发器和约束。
26、数据库对象的完全限定名包括:服务器名、数据库名、所有者名和对象名。其中前三个可以省略,掌握省略的格式。
27、常用的关系运算包括:连接、选择和投影。关系运算的特点是运算的对象和结果都是表。
28、SQL Server对游标的使用要遵循的步骤:声明游标;打开游标;读取数据;关闭游标;删除游标。
29、全局变量和局部变量分别用@@和@进行标识。
30、数据完整性的分类:域完整性、实体完整性和参照完整性。
31. 数据库管理系统采用的数据模型有;层次模型;网状模型;关系模型。
32. SQL Server 2000的数据库可以分为;系统数据库;用户数据库。
33. 数据库对象包括;表;视图;索引;;存储过程;触发器。
34. 常见的连接操作包括;等值连接;自然连接。
35. 数据库的查询语句SELECT的语法格式中不包含以下哪些内容;DROP子句;UPDATE子句。
36. 请从下面的关键字中选出能够用于WHERE子句中进行范围比较的是;IN;BETWEEN。
37. 请选出对视图描述正确的项;数据库中只存储视图的定义;对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表。
38. 按照索引的组织方式,可将索引分为;聚集索引;非聚集索引。
39. 存储过程包括以下哪些类型;系统存储过程;本地存储过程;临时存储过程;远程存储过程;扩展存储过程。
40.SQL Server 2000中,允许使用的备份介质包括;硬盘;磁带;命名管道。
三、名词解释
1、码:在关系表中,如果一个字段或几个字段组合的值可惟一标识其对应记录,则称该字段或字段组合为码。
2、记录:每个表包含了若干行数据,它们是表的“值”,表中的一行称为一个记录。
3. 投影:投影运算从表中选出指定的属性值(列名)组成一个新表,记为:∏A(R)。
4. 索引: 根据表中一列或若干列按照一定顺序建立的列值与记录行之间的对应关系表。
5. 参照完整性: 又称为引用完整性。参照完整性保证主表中的数据与从表中数据的一致性。
6. 数据库:是存放数据及相关信息的仓库。
7. 字段:每个记录由若干个数据项构成,将构成记录的每个数据项称为字段。
8. 连接:连接运算把两个表中的行按照给定的条件进行拼接而形成新表,记为: 。
9. 数据的完整性:是指数据库中的数据在逻辑上的一致性和准确性。
10. 数据库恢复:就是当数据库出现故障时,将备份的数据库加载到系统,从而使数据库恢复到备份时的正确状态。
11、数据库(DB):数据库是存放数据及相关信息的仓库。
12、数据库管理系统(DBMS):数据库管理系统是管理数据库的系统,它按一定的数据模型组织数据。
13、实体和实体集:每一类数据对象的个体称为实体,而每一类对象个体的集合称为实体集。
14、记录:每个表包含了若干行数据,它们是表的“值”,表中的一行称为一个记录。
15、字段:每个记录由若干个数据项构成,将构成记录的每个数据项称为字段。
16、选择运算:选择运算按给定的条件,从表中选出满足条件的行形成一个新表作为运算结果,选择运算的记号为σF(R)。
17、投影运算:投影运算从表中选出指定的属性值(列名)组成一个新表,记为:∏A(R)。
18、连接运算:连接运算把两个表中的行按照给定的条件进行拼接而形成新表,记为: 。
19、等值连接:两个表的某些列值相等,这样的连接称为等值连接。
20、自然连接:自然连接运算要求两个表有共同属性,自然连接运算的结果表是在参与操作两个表的共同属性上进行等值连接后再去除重复的属性后所得的新表,自然连接运算记为: 。
21、局部变量:DECLARE @local_variable data_type,所有局部变量在声明后均初始化为NULL。
22、域完整性:域完整性又称为列完整性,指给定列输入的有效性。
23、实体完整性:实体完整性又称为行的完整性,要求表中有一个主键,其值不能为空且能惟一地标识对应的记录。
24、参照完整性:参照完整性又称为引用完整性。参照完整性保证主表中的数据与从表中数据的一致性。
25、外码:如果一个表中的一个字段或若干个字段的组合是另一个表的码则称该字段或字段组合为该表的外码。
26、存储过程:在SQL Server中,可以定义子程序存放在数据库中,这样的子程序称为存储过程。
27、触发器:触发器是一类特殊的存储过程。触发器与表的关系密切,用于保护表中的数据。当有操作影响到触发器保护的数据时,触发器自动执行。
28、导入/导出:导入/导出是数据库系统与外部进行数据交换的操作。
导入数据是从外部数据源中检索数据,并将数据插入到SQL Server表的过程,即把其他系统的数据引入到SQL Server的数据库中。
导出数据是将SQL Server数据库中的数据转换为某些用户指定格式的过程,即把数据库从SQL Server数据库中引到其他系统。
四、简答题
1. 请列举SQL Server 2000的数据库对象。
表、视图、索引、存储过程、触发器和约束。
2. 简述存储过程的优点。
(1)存储过程在服务器端运行,执行速度快。
(2)存储过程执行一次后,其执行规划就驻留在高速缓冲存储器,在以后的操作中,只需从高速缓冲存储器中调用已编译好的二进制代码执行,提高了系统性能。
(3)确保数据库的安全。
(4)自动完成需要预先执行的任务。
3. 请根据以下表的定义写出创建表的语句。
表名:Student
列名 数据类型 长度 是否允许为空
学号 定长字符型(char) 6 否
姓名 定长字符型(char) 8 否
专业名 定长字符型(char) 10 允许
性别 位型(bit) 1(系统默认值) 否
出生时间 日期时间类型(smalldatetime) 4(系统默认值) 否
总学分 整数型(tinyint) 1(系统默认值) 允许
备注 文本型(text) 16(系统默认值) 允许
CREATE TABLE student(
学号 char(6) NOT NULL,
姓名 char(8) NOT NULL,
专业名 char(10) NULL,
性别 bit NOT NULL,
出生日期 smalldatetime NOT NULL,
总学分 tinyint NULL,
备注 text NULL)
4. 根据以下要求写出实现表操作的SQL语句。
假设数据库中已经建立好以下表结构。
表名:Student
列名 数据类型 长度 是否允许为空
学号 定长字符型(char) 6 否
姓名 定长字符型(char) 8 否
专业名 定长字符型(char) 10 允许
性别 位型(bit) 1(系统默认值) 否
出生时间 日期时间类型(smalldatetime) 4(系统默认值) 否
总学分 整数型(tinyint) 1(系统默认值) 允许
备注 文本型(text) 16(系统默认值) 允许
请分别写出如下操作的SQL语句:
(1) 增加新列 “奖学金等级”,数据类型为tinyint,允许为空;
(2) 删除“备注”列;
(3) 将“出生日期”列的数据类型由原来的smalldatetime修改为datetime。
(1)ALTER TABLE Student ADD 奖学金等级 tinyint NULL
(2)ALTER TABLE Student DROP COLUMN 备注
(3)ALTER TABLE Student ALTER COLUMN 出生日期 datetime
5. 数据库中已经存在下表。
表名:Student
列名 数据类型 长度 是否允许为空
学号 定长字符型(char) 6 否
姓名 定长字符型(char) 8 否
专业名 定长字符型(char) 10 允许
总学分 整数型(tinyint) 1(系统默认值) 允许
备注 文本型(text) 16(系统默认值) 允许
请写出如下对表中数据进行操作的SQL语句:
(1)插入一条学生信息,学号为“532241”,姓名为“张鑫”,专业名为“计算机”;
(2)从表中删除学号为“532240”的学生记录;
(3)将表中所有记录的专业名由“计算机”改为“计算机应用技术”。
(1)INSERT INTO Student(学号, 姓名, 专业名) VALUES(‘532241’, ‘张鑫’, ‘计算机’)
或 INSERT INTO Student VALUES(‘532241’, ‘张鑫’, ‘计算机’, NULL, NULL)
(2)DELETE FROM Student WHERE 学号=‘532240’
(3)UPDATE Student SET 专业名=‘计算机应用技术’ WHERE 专业名=‘计算机’
6. 请列举设计表时包括的内容。
确定表的名字、所包含的列名、列的数据类型、长度、是否可为空值、默认值情况、是否要使用以及何时使用约束、默认设置或规则以及所需索引、哪些列是主键、哪些列是外键。
7. 简述索引的作用。
(1)快速存取数据。
(2)保证数据记录的惟一性。
(3)实现表与表之间的参照完整性。
(4)在使用ORDER BY, GROUP BY子句进行数据检索时,利用索引可减少排序和分组的时间。
8. 请根据以下表的定义写出创建表的语句。
表名:Course
列名 数据类型 长度 是否允许为空
课程号 定长字符型(char) 3 否
课程名 定长字符型(char) 16 否
开课学期 整数型(tinyint) 1(系统默认值) 否
学时 整数型(tinyint) 1(系统默认值) 否
学分 整数型(tinyint) 4(系统默认值) 允许
CREATE TABLE course(
课程号 char(3) NOT NULL,
课程名 char(16) NOT NULL,
开课日期 tinyint NOT NULL,
学时 tinyint NOT NULL,
学分 tinyint NULL)
9. 根据以下要求写出实现表操作的SQL语句。
假设数据库中已经建立好以下表结构。
表名:Course
列名 数据类型 长度 是否允许为空
课程号 定长字符型(char) 3 否
课程名 定长字符型(char) 16 否
开课学期 整数型(tinyint) 1(系统默认值) 否
学时 整数型(tinyint) 1(系统默认值) 否
学分 整数型(tinyint) 4(系统默认值) 允许
请分别写出如下操作的SQL语句:
(1) 增加新列“授课教师”,数据类型为char,长度为10,不允许为空;
(2) 删除“学时”列;
(3) 将“课程名”列的长度由原来16改为20。
(1)ALTER TABLE Course ADD 授课教师 char(10) NOT NULL
(2)ALTER TABLE Course DROP COLUMN 学时
(3)ALTER TABLE Course ALTER COLUMN 课程名 char(20)
10. 数据库中已经存在下表。
表名:Course
列名 数据类型 长度 是否允许为空
课程号 定长字符型(char) 3 否
课程名 定长字符型(char) 16 否
开课学期 整数型(tinyint) 1(系统默认值) 否
学时 整数型(tinyint) 1(系统默认值) 否
学分 整数型(tinyint) 4(系统默认值) 允许
继续需要请留邮箱&上我空间留邮箱
❸ 请SQL Server 2005实力派赐教(安全架构问题)
schema定义
架构(Schema)是一组数据库对象的集合,它被单个负责人(可以是用户或角色)所拥有并构成唯一命名空间。你可以将架构看成是对象的容器。
在 SQL Server 2000 中,用户(User)和架构是隐含关联的,即每个用户拥有与其同名的架构。因此要删除一个用户,必须先删除或修改这个用户所拥有的所有数据库对象。
在 SQL Server 2005 中,架构和创建它的数据库用户不再关联,完全限定名(fully-qualified name)现在包含4个部分:server.database.schema.object
用户和架构分离的好处
* 多个用户可以通过角色(role)或组(Windows groups)成员关系拥有同一个架构。
* 删除数据库用户变得极为简单。
* 删除数据库用户不需要重命名与用户名同名的架构所包含的对象,因此也无需对显式引用数据库对象的应用程序进行修改和测试。
* 多个用户可以共享同一个缺省架构(default schema)来统一命名。
* 共享缺省架构使得开发人员可以为特定的应用程序创建特定的架构来存放对象,这比仅使用管理员架构(DBO schema)要好。
* 在架构和架构所包含的对象上设置权限(permissions)比以前的版本拥有更高的可管理性。
缺省架构
SQL Server 2005 引入了缺省架构(Default Schema)的概念,用于确定没有使用完全限定名的对象的命名。在 SQL Server 2005 中,缺省架构指定了服务器确定对象的名称时所查找的第一个架构。缺省架构可以用 CREATE USER 和 ALTER USER 中的 DEFAULT_SCHEMA 选项创建和修改。如果没有定义 DEFAULT_SCHEMA,则所创建的数据库用户将用 dbo 作为他的缺省架构。
上面的内容都是搜索得到的。
SQL2005用得少,窃以为,schema其实就是对用户+角色 权限机制的一个扩展,使得数据库系统更具灵活性。
❹ 关于数据库的几道问答题,急救
第4题:打开安全性,又击那个用户,属性,里面有个数据库选项卡,点以下,就可以设置那个权限了,只允许该用户访问那一个库就行了
❺ 什么是架构,SQL中的架构有哪些
架构(Schema)是一组数据库对象的集合,它被单个负责人(可以是用户或角色)所拥有并构成唯一命名空间。你可以将架构看成是对象的容器。
在 SQL Server 2000 中,用户(User)和架构是隐含关联的,即每个用户拥有与其同名的架构。因此要删除一个用户,必须先删除或修改这个用户所拥有的所有数据库对象。
在 SQL Server 2005 中,架构和创建它的数据库用户不再关联,完全限定名(fully-qualified name)现在包含4个部分:server.database.schema.object
1. 体系结构(Architecture)
体系结构亦可称为架构,所谓软件架构,根据Perry 和Wolfe之定义:Software Architecture = {Elements,Forms, Rationale / Constraint },也就是软件主架构 = {组件元素,元素互助合作之模式,基础要求与限制}。Philippe Kruchten采用上面的定义,并说明主架构之设计就是:将各组件元素以某些理想的合作模式组织起来,以达成系统的基本功能和限制。体系结构又分为多种样式,如Pipes and Filters等。
2. 框架(Framework)
框架亦可称为应用架构,框架的一般定义就是:在特定领域基于体系结构的可重用的设计。也可以认为框架是体系结构在特定领域下的应用。框架比较出名的例子就是MVC。
3. 库(Library)
库应该是可重用的、相互协作的资源的集合,供开发人员进行重复调用。它与框架的主要区别在于运行时与程序的调用关系。库是被程序调用,而框架则调用程序。比较好的库有JDK。
4. 设计模式(Design Pattern)
设计模式大家应该很熟悉,尤其四人帮所写的书更是家喻户晓。“四人帮”将模式描述为“在一定的环境中解决某一问题的方案”。这三个事物 — 问题、解决方案和环境 — 是模式的基本要素。给模式一个名称,考虑使用模式将产生的结果和提供一个或多个示例,对于说明模式也都是有用的。
5. 平台(PlatForm)
由多种系统构成,其中也可以包含硬件部分。
对于以上的概念有一个比较清楚的认识之后,就可以在软件的开发过程中进行应用。理论和实践是缺一不可的,相辅相成的。没有理论的指导,实践就缺乏基础;没有实践的证明,理论就缺乏依据,因此我一直认为:对于当代的程序员,在有一定的实践基础后,必须学习更深的理论知识。无论你是从那方面先开始学习的。
在软件的开发过程中,从许多过程实践和方法中,大致可以提炼出五大步骤:需求、分析、设计、编码、测试。而体系结构是软件的骨架,是最重要的基础。体系结构是涉及到每一步骤中。一般在获取需要的同时,就应该开始分析软件的体系结构。体系结构现在一般是各个大的功能模块组合成,然后描述各个部分的关系。
我一般认为框架是体系结构中每个模块中更细小的结构。如需要表示web技术,就会用到MVC框架,而web功能只是整个软件体系中的一个功能模块。每个框架可以有许多个实例,如用java实现的MVC框架structs。
而在框架之下就是设计模式,设计模式一般是应用中框架之中的,也可以说是对框架的补充。因为框架只是提供了一个环境,需要我们我里面填入更多的东西。无论是否应用了设计模式,你都可以实现软件的功能,而正确应用了设计模式,是我们对前人软件的设计或实现方法的一种继承,从而让你的软件更软。
体系结构是可以从不同视角来进行分析的,所以软件体系结构的设计可以按照不同的视角来进行的。按4+1 views的论述,那是四种views:逻辑、开发、过程、物理和场景。因此体系结构是逐渐细化的,你不可能开始就拿出一个完美的体系结构,而只能根据开发过程逐渐对体系结构进行细化。
打个比方:如果我们准备建一个房子,那房子如果按功能来分:墙壁、地板、照明等,它是按那种样式来组成的,房子是四方的还是圆形的等,这样就组成了房子的体系结构。在体系结构之下,我们可以把框架应用在每个模块中,例如墙壁,我们准备应用什么框架。墙壁可以包括:窗户、门等。窗户和门的组成的就是一种框架。而窗户是什么形状的或者是大还是小,是要为了实现屋内的亮度的,因此挑选什么样的窗户就是设计模式。
❻ 谁能介绍一下sql server 2000的一些架构
架构(Schema)是一组数据库对象的集合,它被单个负责人(可以是用户或角色)所拥有并构成唯一命名空间。你可以将架构看成是对象的容器。
在 SQL Server 2000 中,用户(User)和架构是隐含关联的,即每个用户拥有与其同名的架构。因此要删除一个用户,必须先删除或修改这个用户所拥有的所有数据库对象。
在 SQL Server 2005 中,架构和创建它的数据库用户不再关联,完全限定名(fully-qualified name)现在包含4个部分:server.database.schema.object
1. 体系结构(Architecture)
体系结构亦可称为架构,所谓软件架构,根据Perry 和Wolfe之定义:Software Architecture = {Elements,Forms, Rationale / Constraint },也就是软件主架构 = {组件元素,元素互助合作之模式,基础要求与限制}。Philippe Kruchten采用上面的定义,并说明主架构之设计就是:将各组件元素以某些理想的合作模式组织起来,以达成系统的基本功能和限制。体系结构又分为多种样式,如Pipes and Filters等。
2. 框架(Framework)
框架亦可称为应用架构,框架的一般定义就是:在特定领域基于体系结构的可重用的设计。也可以认为框架是体系结构在特定领域下的应用。框架比较出名的例子就是MVC。
3. 库(Library)
库应该是可重用的、相互协作的资源的集合,供开发人员进行重复调用。它与框架的主要区别在于运行时与程序的调用关系。库是被程序调用,而框架则调用程序。比较好的库有JDK。
4. 设计模式(Design Pattern)
设计模式大家应该很熟悉,尤其四人帮所写的书更是家喻户晓。“四人帮”将模式描述为“在一定的环境中解决某一问题的方案”。这三个事物 — 问题、解决方案和环境 — 是模式的基本要素。给模式一个名称,考虑使用模式将产生的结果和提供一个或多个示例,对于说明模式也都是有用的。
5. 平台(PlatForm)
由多种系统构成,其中也可以包含硬件部分。
对于以上的概念有一个比较清楚的认识之后,就可以在软件的开发过程中进行应用。理论和实践是缺一不可的,相辅相成的。没有理论的指导,实践就缺乏基础;没有实践的证明,理论就缺乏依据,因此我一直认为:对于当代的程序员,在有一定的实践基础后,必须学习更深的理论知识。无论你是从那方面先开始学习的。
在软件的开发过程中,从许多过程实践和方法中,大致可以提炼出五大步骤:需求、分析、设计、编码、测试。而体系结构是软件的骨架,是最重要的基础。体系结构是涉及到每一步骤中。一般在获取需要的同时,就应该开始分析软件的体系结构。体系结构现在一般是各个大的功能模块组合成,然后描述各个部分的关系。
我一般认为框架是体系结构中每个模块中更细小的结构。如需要表示web技术,就会用到MVC框架,而web功能只是整个软件体系中的一个功能模块。每个框架可以有许多个实例,如用java实现的MVC框架structs。
而在框架之下就是设计模式,设计模式一般是应用中框架之中的,也可以说是对框架的补充。因为框架只是提供了一个环境,需要我们我里面填入更多的东西。无论是否应用了设计模式,你都可以实现软件的功能,而正确应用了设计模式,是我们对前人软件的设计或实现方法的一种继承,从而让你的软件更软。
体系结构是可以从不同视角来进行分析的,所以软件体系结构的设计可以按照不同的视角来进行的。按4+1 views的论述,那是四种views:逻辑、开发、过程、物理和场景。因此体系结构是逐渐细化的,你不可能开始就拿出一个完美的体系结构,而只能根据开发过程逐渐对体系结构进行细化。
打个比方:如果我们准备建一个房子,那房子如果按功能来分:墙壁、地板、照明等,它是按那种样式来组成的,房子是四方的还是圆形的等,这样就组成了房子的体系结构。在体系结构之下,我们可以把框架应用在每个模块中,例如墙壁,我们准备应用什么框架。墙壁可以包括:窗户、门等。窗户和门的组成的就是一种框架。而窗户是什么形状的或者是大还是小,是要为了实现屋内的亮度的,因此挑选什么样的窗户就是设计模式。
❼ sql中表达完整性约束的规则主要有哪几种
1、实体完整性:规定表的每一行在表中是惟一的实体。
2、域完整性:是指表中的列必须满足某种特定的数据类型约束,其中约束又包括取值范围、精度等规定。
3、 参照完整性:是指两个表的主关键字和外关键字的数据应一致,保证了表之间的数据的一致性,防止了数据丢失或无意义的数据在数据库中扩散。
4、用户定义的完整性:不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件。用户定义的完整性即是针对某个特定关系数据库的约束条件,它反映某一具体应用必须满足的语义要求。
(7)sql中完全限定名包括什么扩展阅读
完整性约束的类型介绍:
1、与表有关的约束:是表中定义的一种约束。可在列定义时定义该约束,此时称为列约束,也可以在表定义时定义约束,此时称为表约束。
2、域(Domain)约束:在域定义中被定义的一种约束,它与在特定域中定义的任何列都有关系。
3、断言(Assertion):在断言定义时定义的一种约束,它可以与一个或多个表进行关联。
❽ SQL 索引重命名
看一下SQL SERVER的联机帮助,你那样的用法不能重新命名索引。
语法:
sp_rename [ @objname = ] 'object_name' , [ @newname = ] 'new_name' [ , [ @objtype = ] 'object_type' ]
参数:
[ @objname = ] 'object_name'
用户对象或数据类型的当前限定或非限定名称。如果要重命名的对象是表中的列,则 object_name 的格式必须是 table.column。如果要重命名的对象是索引,则 object_name 的格式必须是 table.index。
只有在指定了合法的对象时才必须使用引号。如果提供了完全限定名称,包括数据库名称,则该数据库名称必须是当前数据库的名称。object_name 的数据类型为 nvarchar(776),无默认值。
[ @newname = ] 'new_name'
指定对象的新名称。new_name 必须是名称的一部分,并且必须遵循标识符的规则。newname 的数据类型为 sysname,无默认值。
注意:
触发器名称不能以 # 或 ## 开头。
[ @objtype = ] 'object_type'
要重命名的对象的类型。object_type 的数据类型为 varchar(13),默认值为 NULL,可取下列值之一。
COLUMN
要重命名的列。
DATABASE
用户定义数据库。重命名数据库时需要此对象类型。
INDEX
用户定义索引。
OBJECT
在 sys.objects 中跟踪的类型的项目。例如,OBJECT 可用于重命名约束(CHECK、FOREIGN KEY、PRIMARY/UNIQUE KEY)、用户表和规则等对象。
USERDATATYPE
通过执行 CREATE TYPE 或 sp_addtype 添加别名数据类型或 CLR 用户定义类型。
示例:
重命名索引:
以下示例将 IX_ProctVendor_VendorID 索引重命名为 IX_VendorID。
USE AdventureWorks;
GO
EXEC sp_rename N'Purchasing.ProctVendor.IX_ProctVendor_VendorID', N'IX_VendorID', N'INDEX';
GO
❾ SQL 2008 R2在线求助。立马采纳!
1. server.database.scheme.object是个概念,举例如:mycomputer.adventure.person.address, mycomputer是服务器名,adventure是数据库名,person是schema名,address是表名。
2.询问是否要保存的是执行的查询命令,输入的数据已经保存了。