分析完这个小MIS的功能,觉得好有趣啊,我的手痒痒了,想马上实践一下。
可是现实告诉我,不能心急,我必须要静下心来要踏踏实实地按步骤去做。在创建数据库之前,我们先来分析一下它的数据库的逻辑结构。这个MIS的数据库共包含六个表。分别是:
4、course_Info
user_Info student_Info class_Info course_Info gradecourse_Info result_Info
接下来我们按步骤进行,先分析,再实现。
一、数据库表分析
1、user_Info
列名 | 数据类型 | 可否为空 | 说明 |
user_ID | CHAR(10) | NOT NULL | 用户名(主键) |
user_PWD | CHAR(10) | NULL | 用户密码 |
user_DES | CHAR(10) | NULL | 用户描述 |
2、student_Info
列名 | 数据类型 | 可否为空 | 说明 |
student_ID | INT(4) | NOT NULL | 学号(主键) |
student_Name | CHAR(10) | NULL | 姓名 |
student_Sex | CHAR(2) | NULL | 性别 |
born_Date | DATETIME(8) | NULL | 出生日期 |
class_No | INT(4) | NULL | 班号 |
tele_Number | CHAR(10) | NULL | 联系电话 |
enrollment_Date | DATETIME(8) | NULL | 入校时间 |
address | VARCHAR(50) | NULL | 家庭住址 |
comment | VARCHAR(200) | NULL | 备注 |
3、class_Info
列名 | 数据类型 | 可否为空 | 说明 |
class_No | INT(4) | NOT NULL | 班号(主键) |
grade | CHAR(10) | NULL | 年级 |
director | CHAR(10) | NUll | 班主任 |
classroom_No | CHAR(10) | Null | 教室 |
列名 | 数据类型 | 可否为空 | 说明 |
course_ID | INT(4) | NOT NULL | 课程编号(主键) |
course_Name | CHAR(10) | NULL | 课程名称 |
course_Type | CHAR(10) | NULL | 课程类型 |
course_DES | CHAR(50) | NULL | 课程描述 |
5、gradecourse_Info
列名 | 数据类型 | 可否为空 | 说明 |
grade | CHAR(10) | NOT NULL | 年级 |
course_Name | CHAR(10) | NULL | 课程名称 |
6、result_Info
列名 | 数据类型 | 可否为空 | 说明 |
exam_No | CHAR(10) | NOT NULL | 考试编 |
student_ID | INT(4) | NOT NULL | 学生学号 |
student_Name | CHAR(10) | NULL | 学生姓名 |
class_No | INT(4) | NULL | 学生班号 |
course_Name | CHAR(10) | NULL | 课程名称 |
result | FLOAT(8) | NULL | 分数 |
到这里,表就分析完了,下面我们进行动手操作啦!
二、创建数据库和数据表
这里有两种方法创建数据库和数据表。一种是直接创建,另一种是利用SQL查询分析器创建。
1、直接创建
⑴新建数据库,右击”数据库“选择“新建数据库”
⑵添加数据库名称,以及数据库文件设置。
⑶数据库创建成功后,双击你所建好的数据库名称,右击“表”选择“新建表”,出现如图所示界面,为表添加列名,数据类型以及是否允许Null值。
⑷表建好后,右击“dbo.user_Info(系统用户表)”,选择编辑前200行,为系统添加用户名和用户密码。
到这里,我们的数据库就建好了。
2、SQL查询分析器创建
我们只需在查询分析器窗口直接输入需要建立的数据库和数据表的代码,并执行,待出现“命令已成功完成!”,即数据库和数据表创建成功。
(1)创建名为Student的数据库
CREATE DATABASE Student
(2)创建数据表
下面的这些表都是照着一个模子刻出来的,然后修改一下不同的名称和数据类型即可。即下面这个模板:
<span style="font-size:14px;">CREATE TABLE table_name(
column_name
data_type
[NULL | NOT NULL]
)ON [PRIMARY]</span>
下面以创建学籍信息表为例!
<span style="font-size:14px;">CREATE TABLE [dbo].[student_Info] (
[student_ID] [int] NOT NULL ,
[student_Name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[student_Sex] [char] (2) COLLATE Chinese_PRC_CI_AS NULL ,
[born_Date] [datetime] NULL ,
[class_NO] [int] NULL ,
[tele_Number] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[ru_Date] [datetime] NULL ,
[address] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[comment] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]</span>
解读代码:
(1)COLLATE Chinese_PRC_CI_AS 代表什么?
这条SQL语句是指定SQL Server的排序规则。表示输入记录为FTUID按照Chinese_PRC_CI_AS格式进行排序。
COlLATE主要用于对字符串进行排序。
Chinese_PRC是指针对大陆简体字UNICODE的排序规则。
CI指定不区分大小写,如果要在查询时区分输入的大小写则改为CS
AS指定区分重音,同样如果不需要区分重音,则改为AI
AS指定区分重音,同样如果不需要区分重音,则改为AI
SQL Server的排序规则,有很多,这里我们只接触了这一种,想了解更多关于SQL排序规则的文章,请点击此处!
(2)ON[PRIMARY]是什么意思?
是指表建立在主文件组上,可以省略不写,默认的为主文件组。
待这个六个表全部创建成功后,新建一条查询,输入下面的语句。
<span style="font-size:14px;">insert user_Info(user_ID,user_PWD)
VALUES('student','student') </span>
"消息"框显示“(1行受影响)”,Congratulations!查询已成功执行。