惠州学院-数据库实验1-数据库定义与操作语言
### 数据库定义与操作语言知识点解析 #### 一、实验目的 本次实验旨在帮助学生理解和掌握关系型数据库的标准SQL语言。SQL(Structured Query Language),即结构化查询语言,是用于管理关系型数据库的标准语言,其功能包括数据定义、数据操纵、数据控制等方面。 #### 二、实验环境 本次实验使用的环境为: - 数据库管理系统:SQL Server - 操作系统:Windows XP #### 三、实验内容 实验主要包括以下几个部分: ##### 1. 创建数据库 实验的第一步是创建一个名为“学生_课程”的数据库。创建数据库的基本语法如下: ```sql CREATE DATABASE 数据库名 ON PRIMARY ( NAME = '数据库文件名', FILENAME = '数据库文件路径', SIZE = 初始大小(MB), MAXSIZE = 最大大小(MB), FILEGROWTH = 增长量(MB或百分比) ) LOG ON ( NAME = '日志文件名', FILENAME = '日志文件路径', SIZE = 初始大小(MB), FILEGROWTH = 增长量(MB) ); ``` 其中,“学生_课程”数据库的创建语句如下: ```sql CREATE DATABASE 学生_课程 ON PRIMARY ( NAME = '学生_课程_data', FILENAME = 'D:\学生_课程_data.mdf', SIZE = 5MB, MAXSIZE = 100MB, FILEGROWTH = 15% ) LOG ON ( NAME = '学生_课程_log', FILENAME = 'D:\学生_课程_log.ldf', SIZE = 2MB, FILEGROWTH = 1MB ); ``` ##### 2. 创建表 接下来,需要创建三个表:`Student`(学生表)、`Course`(课程表)以及`SC`(选课表)。这些表的具体定义如下: - **学生表(Student)**:包含学生的信息,如学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)和所在部门(Sdept)。 ```sql CREATE TABLE Student ( Sno INT PRIMARY KEY NOT NULL, Sname VARCHAR(10) NOT NULL, Ssex VARCHAR(2) NOT NULL CHECK (Ssex IN ('男', '女')), Sage INT, Sdept VARCHAR(50) ); ``` - **课程表(Course)**:记录课程的信息,包括课程号(Cno)、课程名(Cname)、先修课程号(Cpno)和学分(Ccredit)。 ```sql CREATE TABLE Course ( Cno INT PRIMARY KEY NOT NULL, Cname VARCHAR(50) NOT NULL, Cpno INT, Ccredit INT ); ``` - **选课表(SC)**:关联学生和课程,记录学生的选课情况,包括学生的学号(Sno)、课程号(Cno)以及成绩(Grade)。 ```sql CREATE TABLE SC ( Sno INT NOT NULL FOREIGN KEY REFERENCES Student(Sno), Cno INT NOT NULL FOREIGN KEY REFERENCES Course(Cno), Grade DECIMAL(4, 1) ); ``` ##### 3. 插入数据 在创建好上述表之后,需要向这些表中插入具体的数据。例如,向学生表(Student)中插入数据: ```sql INSERT INTO Student (Sno, Sname, Ssex, Sage, Sdept) VALUES (95001, '李勇', '男', 20, 'CS'); ``` 类似地,还可以向其他表中插入数据。 ##### 4. 数据查询 完成数据的创建和插入后,可以通过SQL查询语句来检索和分析这些数据。例如,查询所有学生的姓名和年龄: ```sql SELECT Sname, Sage FROM Student; ``` 通过本实验,学生可以深入理解SQL语言的基础语法,并掌握如何使用SQL进行数据库的操作,包括创建数据库、定义表结构、插入数据等基本技能,为进一步学习数据库管理和开发打下坚实的基础。
- 粉丝: 52
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助