这里我们开始用SQL Server 来进行课本上例题的练习,没有书?没关系,我这有PDF版的。百度网盘,提取码:cg8s
习题我敲了出来,如有错误欢迎大家指出。没安装SQL Server的同学也不着急,可以看一下我之前的文章,感谢支持!
首先,我们先创建一个数据库,名称就叫做Test吧:
然后我们刷新数据库:
接下来我们进入正式的环节:
【例3.1】 为用户WANG定义一个学生-课程模式S-T。
CREATE SCHEMAM"S-T" AUTHORIZATION WANG;
看上去很简单,那么我们直接来操作一下,查询语句中输入上面这句话,运行:
哈哈,我们的用户“w
【SQL语句基础】
SQL(Structured Query Language)是一种用于管理关系数据库的标准语言,包括数据查询、数据操纵、数据定义和数据控制等操作。在本例中,我们主要讨论了如何使用SQL Server来创建和管理数据库模式以及相关对象。
1. **创建模式(Schema)**
创建模式的目的是为了组织和管理数据库中的对象,如表、视图、索引等。在SQL Server中,可以使用`CREATE SCHEMA`语句来创建模式。例如,【例3.1】为用户WANG创建一个名为"S-T"的模式:
```sql
CREATE SCHEMA "S-T" AUTHORIZATION WANG;
```
在这个例子中,`AUTHORIZATION WANG`指定了模式的所有者为用户WANG。
2. **模式的作用**
模式提供了一个命名空间,允许用户在其中定义数据库对象并保持命名的独立性。【例3.2】中展示了即使没有明确指定,模式也会默认为当前用户的名称,即WANG。
3. **在模式中创建表**
用户可以同时在创建模式的过程中定义表,如【例3.3】所示,为用户ZHANG创建一个名为TEST的模式,并在其中定义表TAB1:
```sql
CREATE SCHEMA TEST AUTHORIZATION ZHANG;
CREATE TABLE TAB1 (COL1 SMALLINT, COL2 INT, COL3 CHAR(20), COL4 NUMERIC(10,3), COL5 DECIMAL(5,2));
```
4. **删除模式**
`DROP SCHEMA`语句用于删除模式,但需要注意,删除模式可能会影响到其中的其他数据库对象。【例3.4】演示了删除模式时的限制,如果模式中存在对象,则需要选择CASCADE或RESTRICT。在SQL Server中,`CASCADE`选项不可用,因此需要手动删除相关对象后再删除模式。
5. **表的创建**
创建表是通过`CREATE TABLE`语句实现的,如【例3.5】创建了名为Student的表,其中定义了Sno为主键,Sname为唯一键,以及其他列Ssex、Sage和Sdept:
```sql
CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, Sname CHAR(20) UNIQUE, Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20));
```
6. **完整性约束**
表中的列可以带有完整性约束,如主键(PRIMARY KEY)和唯一键(UNIQUE),确保数据的正确性和一致性。在Student表中,Sno为主键,保证了每一行的唯一性;而Sname为唯一键,确保每个学生的姓名都是唯一的。
7. **权限管理**
SQL Server允许通过GRANT语句为用户分配不同的权限,如读取、写入、修改等。虽然例子中没有具体展示,但权限管理是数据库系统中非常重要的一部分,用于控制用户对数据库对象的访问。
总结来说,本实例通过一系列的SQL语句展示了如何在SQL Server中创建和管理数据库模式,以及在模式中创建和删除表,同时也强调了模式和表的完整性和权限管理的重要性。学习这些基本操作对于理解和操作SQL数据库至关重要。
1