数据库sql语言学习(一)

学习数据库前有话说:

下面是我自己学习编程一些心得,本人并不是什么大神,也不是什么很厉害的角色,但是,我对自己的专业很喜爱,所以才会有自己的一些总结和看法,也许有一些和您的观点不同,欢迎和我讨论;

在这里也给一些开始学习的同行人一些建议:

1.学习数据库一定要有一个思考的过程,这些过程会让你的逻辑思维无形中提高

2.经常做一些自己的总结,或者是看书,或者是看视频来学习,都要有自己的总结

3.数据库在学习上可以说能和算法一样的重要,他也是对思维的要求很高

4.如果有时间,就常常写一些博客,分享是一种美,互相讨论是一种进步

在学习之前,你需要装一个sql的运行环境,你可以使用mysql,oracle,或者是sqlite3 SQL server2017,

关于他们的安装,可以去找一些其他博客看看,我就不进行讲解了。我用的是微软的sql sever 在微软的官网上有他的下载资源。


学习数据库,肯定是先要有数据库给我们测试,暂时不要知道下面的代码怎么写,因为我在后面的文章中会有。



-- 院系(院系号,院系名,院主任)
CREATE TABLE Departments(
    Dno  char(4) PRIMARY KEY,
    Dname char (10),
    Dheadno char (7),
    -- foreign key(Dheadno) references Teachers(Tno)
     );

insert into Departments
    values('MA','数学学院','06001');
insert into Departments
    values('CS','信工学院','05001');



-- 老师(教工号,教师名,性别,生日,职称,所在院系号)
CREATE TABLE Teachers(
    Tno   char(7) PRIMARY KEY,
    Tname char(10) NOT NULL,
    Sex   char(2) CHECK(Sex='男'OR Sex='女'),
    Birthday date,
    Title char(6),
    Dno   char(4),
    foreign key(Dno) references Departments(Dno)
 );

insert into Teachers
    values('05001','张海峰','男','1957-10-01','教授','CS');
insert into Teachers
    values('05002','刘晓明','男','1969-10-01','副教授','CS');
insert into Teachers
    values('05003','王梅','女','1967-10-01','副教授','CS');
insert into Teachers
    values('05004','赵青山','男','1976-10-01','讲师','CS');
insert into Teachers
    values('06001','朱杰','男','1952-10-01','教授','MA');
insert into Teachers
    values('06002','欧阳梅','女','1959-10-01','副教授','MA');
insert into Teachers
    values('06003','刘毅','男','1968-10-01','副教授','MA');
insert into Teachers
    values('06004','李阳东','男','1978-10-01','讲师','MA');




-- 学生(学号,名字,性别,生日,专业名,院系号)
CREATE TABLE Students(
    Sno  char(9)PRIMARY KEY,
    Sname  char(10) NOT NULL,
    Sex  char(2) CHECK (Sex='男'OR Sex='女'),
    Birthday date,
    Speciality  char(20),
    Dno char(4),
    foreign key(Dno) references Departments(Dno)
    );
insert into Students
    values('200705001','张华','男','1988-10-01','计算机','CS');
insert into Students
    values('200705002','李玉','女','1989-10-01','计算机','CS');
insert into Students
    values('200705003','欧阳山','男','1988-10-01','计算机','CS');
insert into Students
    values('200706001','林艳','女','1988-10-01','数学','MA');
insert into Students
    values('200706002','高山','男','1987-10-01','数学','MA');
insert into Students
    values('200706003','王海洋','男','1988-10-01','数学','MA');
    

    



-- 课表(课程号,课程名,学分)
CREATE TABLE Courses(
    Cno  char(5)PRIMARY KEY,
    Cname char(20) NOT NULL,
    Credit SMALLINT 
    );


insert into Courses
    values('CS101','计算科学导论',1);
insert into Courses
    values('CS102','C语言',3);
insert into Courses
    values('CS201','数据结构',3);
insert into Courses
    values('CS301','数据库系统原理',3);
insert into Courses
    values('MA101','数学分析一',3);
insert into Courses
    values('MA102','高等代数',3);
insert into Courses
    values('MA103','数学分析二',3);
insert into Courses
    values('MA201','常微分方程',3);
insert into Courses
    values('CS103','java语言',3);
insert into Courses
    values('CS202','html语言',3);




-- 选课(学生学号,课程号,学生成绩)
CREATE TABLE SC(
    Sno  char(9),
    Cno  char(5),
    Greade SMALLINT CHECK(Greade>=0 AND Greade<=100),
    PRIMARY key(Sno,Cno),
    foreign key(Sno) references Students(Sno),
    foreign key(Cno) references Courses(Cno),
    );
  


insert into SC
    values('200705001','CS101',89);
insert into SC
    values('200705002','CS101',92);
insert into SC
    values('200705003','CS101',80);
insert into SC
    values('200705001','CS103',90);
insert into SC
    values('200705002','CS103',91);
insert into SC
    values('200705003','CS103',83);
insert into SC
    values('200705001','CS201',88);
insert into SC
    values('200705002','CS201',89);
insert into SC
    values('200705003','CS201',90);
insert into SC
    values('200705001','CS202',87);
insert into SC
    values('200705002','CS202',85);
insert into SC
    values('200705001','CS301',89);
insert into SC
    values('200705002','CS301',88);
insert into SC
    values('200705003','CS301',85);



 
-- 实体教(教工号,课程号,评估得分)
CREATE TABLE Teaches (
    Tno char(7),
    Cno char(5),
    TCscore SMALLINT,
    PRIMARY key(Tno,Cno),
    foreign key(Tno)references Teachers(Tno),
    foreign key(Cno)references Courses(Cno)
    );
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值