SQL Server数据库与表操作实践及答案

4星 · 超过85%的资源 需积分: 50 19 下载量 158 浏览量 更新于2024-09-16 1 收藏 179KB DOC 举报
"本资源提供的是SQL Server的相关实践练习题及其参考答案,涵盖了数据库操作和表操作等核心知识点。" 在SQL Server中,数据库管理和表操作是基础且至关重要的技能。以下是对实验与练习题中涉及知识点的详细说明: ### 实验1:数据库操作 #### 1. 创建数据库 创建数据库`Test`时,我们需要指定主数据文件和日志文件的逻辑名、物理路径、初始大小、最大尺寸以及增长速度。参考答案中的T-SQL语句展示了如何创建数据库: ```sql CREATE DATABASE Test ON PRIMARY ( name = test_data, filename = 'd:\test\test_data.mdf', size = 5MB, maxsize = UNLIMITED, filegrowth = 1MB ) LOG ON ( name = test_log, filename = 'd:\test\test_log.ldf', size = 1MB, maxsize = 5MB, filegrowth = 10% ) GO ``` 这里,`ON PRIMARY`用于定义主数据文件,`LOG ON`用于定义日志文件。`UNLIMITED`表示主数据文件的最大尺寸无限制,而日志文件的最大尺寸设置为5MB。 #### 2. 查看数据库属性 要查看数据库`Test`的属性,可以使用`sp_helpdb`存储过程: ```sql EXEC sp_helpdb 'Test' ``` 这个存储过程将返回关于数据库的一系列信息,包括名称、状态、所有者、文件信息等。 #### 3. 删除数据库 要删除数据库`Test`,使用`DROP DATABASE`语句: ```sql DROP DATABASE Test ``` 这会永久性地移除数据库及其所有相关文件,除非它们被其他对象引用。 ### 实验2:表操作 #### 1. 创建表 创建名为`student`的学生基本信息表,我们需要定义每个字段的数据类型、是否可为空(NULL/NOT NULL)、主键(PK)和其他约束。参考答案如下: ```sql USE Test GO CREATE TABLE student ( st_id nVarChar(9) PRIMARY KEY NOT NULL, st_nm nVarChar(8) NOT NULL, st_sex nVarChar(2) NULL, st_birth datetime NULL, st_score int NULL, st_date datetime NULL, st_from nChar(20) NULL, st_dpid nVarChar(2) NULL, st_mnt tinyint NULL ) ``` 这里,`st_id`是主键,不允许为空,`st_nm`同样不允许为空,而其他字段如`st_birth`、`st_score`等则允许为空。 ### 知识点扩展 1. 数据类型:如`nVarChar`(可变长度的Unicode字符串)、`datetime`(日期和时间)、`int`(整数)、`tinyint`(小整数)等。 2. 约束:`NOT NULL`表示该字段不允许为空,`PRIMARY KEY`定义了表的唯一标识符。 3. 文件组:主数据文件通常位于`PRIMARY`文件组,日志文件在单独的文件组中。 4. 文件增长:`filegrowth`决定了文件在需要更多空间时的增长量。 5. 存储过程:`sp_helpdb`是系统存储过程,用于获取数据库信息。 6. 数据库管理:包括创建、查看和删除数据库,以及对文件的管理,这些都是DBA日常工作中常见的任务。 7. 表设计:合理的表结构设计是保证数据准确性和数据库性能的关键,应考虑数据类型的选择、约束的设置和规范化设计。 以上就是针对SQL Server数据库操作和表操作的实践内容及所涉及的知识点,这些是数据库管理的基础,对于理解和掌握SQL Server非常重要。