根据提供的文件信息,我们可以归纳出以下几个关键的知识点:
### 1. 创建数据库
- **语法结构**:在SQL Server中创建数据库时,使用`CREATE DATABASE`命令,后跟数据库名称和一系列定义数据文件和日志文件的信息。
- **具体实例**:
```sql
CREATEDATABASE student
ON PRIMARY
(
NAME = student_data,
FILENAME = 'D:\SQL\student1.mdf',
SIZE = 3, -- 初始大小为3MB
MAXSIZE = 50, -- 最大大小为50MB
FILEGROWTH = 1 -- 增长量为1MB
)
LOG ON
(
NAME = student_log,
FILENAME = 'D:\SQL\student_log.ldf',
SIZE = 1, -- 初始大小为1MB
MAXSIZE = 13, -- 最大大小为13MB
FILEGROWTH = 10% -- 增长百分比为10%
)
```
### 2. 表的创建与数据类型
#### `stud_info`表
- **字段说明**:
- `stud_id`: 学生ID,字符型,长度10,不可为空。
- `name`: 姓名,宽字符型,长度4,不可为空。
- `birthday`: 生日,日期时间类型。
- `gender`: 性别,宽字符型,长度1。
- `address`: 地址,宽字符型,长度20。
- `telcode`: 电话号码,字符型,长度12。
- `zipcode`: 邮政编码,字符型,长度6。
- `mark`: 成绩,小数类型,最大3位数字,精度0。
#### `teacher_info`表
- **字段说明**:
- `teacher_id`: 教师ID,字符型,长度10,不可为空。
- `name`: 姓名,宽字符型,长度4,不可为空。
- `birthday`: 生日,日期时间类型。
- `gender`: 性别,宽字符型,长度1。
- `age`: 年龄,整型。
- `tech_title`: 职称,宽字符型,长度5。
- `telephone`: 电话号码,可变长字符型,长度12。
- `salary`: 工资,小数类型。
- `course_id`: 课程ID,字符型,长度10。
#### `stud_grade`表
- **字段说明**:
- `stud_id`: 学生ID,字符型,长度10,不可为空。
- `name`: 姓名,宽字符型,长度4,不可为空。
- `course_id`: 课程ID,字符型,长度10。
- `grade`: 分数,数值型,最多4位数。
#### `lesson_info`表
- **字段说明**:
- `course_id`: 课程ID,字符型,长度10,不可为空。
- `course_name`: 课程名,宽字符型,长度12,不可为空。
- `course_type`: 课程类型,宽字符型,长度2,不可为空。
- `course_mark`: 课程学分,整型,不可为空。
- `course_time`: 课时数,小数类型。
#### `teach_schedule`表
- **字段说明**:
- `course_id`: 课程ID,字符型,长度10,不可为空。
- `course_date`: 上课日期,日期时间类型。
- `course_week`: 第几周,整型。
- `room_id`: 教室ID,字符型,长度6。
- `dept_code`: 系代码,字符型,长度2。
- `teacher_id`: 教师ID,字符型,长度6。
#### `dept_code`表
- **字段说明**:
- `dept_code`: 系代码,字符型,长度2,不可为空。
- `dept_name`: 系名称,宽字符型,长度10。
#### `specialty_code`表
- **字段说明**:
- `spec_code`: 专业代码,字符型,长度6,不可为空。
- `spec_name`: 专业名称,宽字符型,长度10。
#### `staffroom_info`表
- **字段说明**:
- `jysh_id`: 办公室ID,字符型,长度4,不可为空。
- `jysh_name`: 办公室名称,宽字符型,长度10。
- `jysh_type`: 办公室类型,宽字符型,长度2。
- `jysh_leader`: 办公室负责人,宽字符型,长度4。
#### `classroom_info`表
- **字段说明**:
- `room_id`: 教室ID,字符型,长度6,不可为空。
- `room_name`: 教室名称,宽字符型,长度8。
- `room_type`: 教室类型,宽字符型,长度6。
- `room_device`: 教室设备,宽字符型,长度10。
- `room_size`: 教室大小,整型。
### 3. 使用数据库
- 在创建或修改数据库之后,需要通过`USE`命令来切换到该数据库,才能执行相应的操作。例如:
```sql
USE student
GO
```
### 4. 关键概念
- **数据文件和日志文件**:数据库包含数据文件和日志文件,它们分别用于存储数据和事务日志信息。
- **主文件组**:在SQL Server中,默认情况下,所有的表和索引都存储在主文件组中。
- **数据类型**:不同的字段需要选择合适的数据类型,如字符串使用`char`或`nvarchar`,日期使用`datetime`等。
- **主键**:每个表应有一个唯一的标识符,即主键,用于确保记录的唯一性。以上创建的表并未指定主键,实际应用中应考虑为主键字段添加约束。
这份SQL脚本涵盖了创建数据库、创建多个表及其字段定义的过程,并展示了如何使用SQL Server中的基本命令来实现这些功能。对于学习和掌握数据库管理系统的使用非常有帮助。