SQL Server数据库与表操作实践及答案
4星 · 超过85%的资源 需积分: 50 194 浏览量
更新于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非常重要。
2023-03-04 上传
2023-03-04 上传
2022-05-18 上传
2010-10-13 上传
2009-08-12 上传
2022-05-31 上传
EddyWuIT
- 粉丝: 2
- 资源: 33
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍