数据库实践一:Sql基本操作

Posted by Cww97 on 2017-04-02

版权声明:本文为博主原创文章,未经博主允许不得转载。原文所在http://blog.csdn.net/cww97 https://blog.csdn.net/cww97/article/details/68954249
# 华东师范大学软件学院上机实践报告

 课程名称:数据库应用                 | 年级:15级         | 上机实践成绩:         
 -------------------------- | -------------- | ---------------- 
 指导教师:金澈清                   | 姓名:陈伟文         |                 
 上机实践名称:Sql Server 2008基本操作 | 学号:10152510217 | 上机实践日期:2017/3/29
 上机实践编号:No.1                | 组号:1-217       | 上机实践时间:4学时      

一、目的

1.熟悉SQL Server 2008试验环境。
2.掌握数据库的设计过程,能够根据应用背景完整数据库的设计。
3. 能够编写一些基本的sql语句对数据库进行操作。

二、内容与设计思想

  1. 熟悉SQL Server 2008的管理、开发环境
  2. 利用sql server 2008的用户界面构建三张表,即学生表,课程表,选课表,并且能够合理标识主码和外码。
  3. 知道如何通过GUI界面增加/修改/删除记录。
  4. 手动删除上述的三张表。
  5. 通过create语句创建上面三张表(包括主码、外码的标记)。
  6. 通过alter语句为学生表加上mobile字段,表示该学生的手机号码
  7. 通过insert语句在各张表中分别插入一条记录。
  8. 通过update语句尝试修改学生表和课程表的一条记录(改变学生姓名和课程名称)。
  9. 利用delete语句尝试删除各张表里面的所有记录。
  10. 利用drop语句删除三张表结构。
    ## 三、使用环境
1
2
Windows XP Professional -> mysql
SQL Server 2008 -> mysql work bench

四、实验过程

写出上面的实验内容,包括:(1)GUI界面的操作,最好有屏幕截图、
(2)5-10步骤的话需要写出相关的sql语句以及各用一句话解释该条语句的含义。

创建表格

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
create table students (
stu_id varchar(20) primary key,
stu_name varchar(10)
);
create table courses (
cou_id varchar(20) primary key,
cou_name varchar(10)
);
create table stu_cou (
stu_id varchar(20),
cou_id varchar(20),
score int,
primary key(stu_id, cou_id),
unique(stu_id,cou_id)
);
ALTER TABLE stu_cou
ADD CONSTRAINT stu_id FOREIGN KEY (stu_id) REFERENCES students(stu_id);
ALTER TABLE stu_cou
ADD CONSTRAINT cou_id FOREIGN KEY (cou_id) REFERENCES courses(cou_id);

mysql的外健有点蛋疼,只搜到了alter 的写法
必须创建了之后关联,不能创建时关联
primary key,标记为主键,
unique让每个学生没门课只能选一次

添加手机号

1
ALTER table students add mobile char(11)

添加数据

1
2
3
insert into courses values('SOFT0031131105', 'DataBase_');
insert into students values('10152510217','陈伟文','15317952116');
insert into stu_cou values('10152510217','SOFT0031131105',66);

delete,只能删这个,另外的两个都被这个外健关联着

1
delete from stu_cou

drop是最暴力的

1
2
3
drop table stu_cou;
drop table courses;
drop table students;

五、总结

上机实践结果进行分析,问题回答,上机的心得体会及改进意见。
自己的电脑没有windows环境,于是用了mysql,语法上有细微的差距,又是一波百度的血雨腥风,虽然增加了一点复杂度,不过以后自己真正用到数据库的时候,应该会稳很多

六、附录

最后数据库长的样子
这里写图片描述