参考资料:数据库系统概论(王珊、萨师煊)
第一次接触‘数据库’这个熟悉又陌生的东西,这个小东西竟然有点儿小傲娇!!!第一次安装Sql Server2019竟然因为网络问题,导致安装失败,反反复复~~气死宝宝了,后来含泪安装了2017版本的,还算顺利hahahaha~~进入正题。
步骤:
- 进入SQL Server,首先要链接自己的数据库引擎哦。
- 使用界面工具创建自己的数据库:右键‘数据库’->在弹出的选项卡中选择'新建数据库'->输入要创建的数据库的名称(如:数据库1)。
- 使用界面工具创建基本表:
右键‘数据库’->找到‘新建查询’选项->然后开始编辑代码->点击‘执行’(显示该命令已成功执行,即可)->Ctrl+S保存命名该文件即可。 - 在前面的步骤当中,我们可以看见我们建立的表格(如图所示位置:dbo.Course)。右击‘dbo.Course’->点击编辑前200行,就可以插入我们想要插入的数据了(注意表的约束)。
例:
(1)创建一个新的数据库(学生):
--Student(学生表)
CREATE TABLE Student
(Sno CHAR(9) PRIMARY KEY, /*列级完整性约束条件,Sno是主码*/
Sname CHAR(20) UNIQUE, /*Sname取唯一值*/
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20),
);
--运行结果:命令成功执行
(2)建立一个“课程表”Course
--Course(课程表)
CREATE TABLE Course
(Cno CHAR(4) PRIMARY KEY, /*列级完整性约束条件,Cno是主码*/
Cname CHAR(40) NOT NULL, /*列级完整性约束条件,Cname不能取空值*/
Cpno CHAR(4), /*Cpno的含义是先修课*/
Ccredit SMALLINT,
FOREIGN KEY(Cpno) REFERENCES Course(Cno) /*表级完整性约束条件,Cpno是外码,被参照表是Course,被参照列是Cno*/
);
--运行结果:命令成功执行
(3)建立学生选课表SC
--SC(选课表)
CREATE TABLE SC
(Sno CHAR(9),
Cno CHAR(4),
Grade SMALLINT,
PRIMARY KEY(Sno,Cno), /*主码由两个属性构成,必须作为表级完整性进行定义*/
FOREIGN KEY(Sno) REFERENCES Student(Sno), /*表级完整性约束条件,Sno是外码,被参照表是Student*/
FOREIGN KEY(Cno) REFERENCES Course(Cno) /*表级完整性约束条件,Cno是外码,被参照表是Course*/
);
--运行结果:命令成功执行
注意:
1.不创建外键关联,只是外键关系
设计中的外键仅是为了让大家知道其对应的表才写进去的,实际并不需要在数据库中创建外键。目的是为了确保表之间的独立性。
2.应针对所有表的主键和外键建立索引。有针对性的建立组合属性的索引,提高检索效率。
3.所有字段不允许空值,varchar类型默认统一设置为”Empty String”,此处不使用NULL。区别:NULL,默认存为(Null),指的是对象;Empty String默认存为空串””,在java中进行非空判断存在区别userId==null/userId.equals(“”);数值类型默认为0
4.每张表需要建立索引:选取使用频率最高的字段作为索引字段。