###表与数据处理实验知识点总结####一、创建数据库及表结构根据题目要求,首先需要创建一个名为“教务管理”的数据库,并在该数据库中创建三个表:学生表(Student)、课程表(Course)以及选修表(SC)。每个表的具体字段及其属性如下: 1. **学生表(Student)** - **Sno** (学号):类型为`int`,不允许为空; - **Sname** (姓名):类型为`nvarchar(20)`,不允许为空; - **Sex** (性别):类型为`Char(2)`,不允许为空; - **Age** (年龄):类型为`tinyint`,允许为空。 2. **课程表(Course)** - **Cno** (课程号):类型为`Char(5)`,不允许为空; - **Cname** (课程名):类型为`Nvarchar(30)`,不允许为空; - **Credit** (学分):类型为`Tinyint`,不允许为空; - **PCno** (先修课):类型为`Char(5)`,允许为空。 3. **选修表(SC)** - **Sno** (学号):类型为`Int`,不允许为空; - **Cno** (课程号):类型为`Char(5)`,不允许为空; - **Score** (成绩):类型为`Smallint`,允许为空。 ####二、修改表结构接下来需要对表结构进行修改: 1. **将学生表(Student)和选修表(SC)中的Sno字段类型由int修改为char(10)。** ```sql ALTER TABLE Student ALTER COLUMN Sno char(10); ALTER TABLE SC ALTER COLUMN Sno char(10); ``` 2. **向学生表(Student)中增加一列:联系电话(Phone),类型为Varchar(20),允许为空。** ```sql ALTER TABLE Student ADD Phone varchar(20); ``` ####三、插入数据接着,需要为每个表插入至少三条数据。示例数据如下: 1. **学生表(Student)** ```sql INSERT INTO Student (Sno, Sname, Sex, Age, Phone) VALUES ('20210001', '张三', '男', 20, '13800000'), ('20210002', '李四', '女', 22, '13900000'), ('20210003', '王五', '男', 21, '13700000'); ``` 2. **课程表(Course)** ```sql INSERT INTO Course (Cno, Cname, Credit, PCno) VALUES ('C001', '计算机组成原理', 4, 'C003'), ('C002', '数据结构', 3, NULL), ('C003', '离散数学', 3, NULL); ``` 3. **选修表(SC)** ```sql INSERT INTO SC (Sno, Cno, Score) VALUES ('20210001', 'C001', 85), ('20210002', 'C002', 90), ('20210003', 'C003', 75); ``` ####四、修改数据1. **修改张三的联系电话。** ```sql UPDATE Student SET Phone = '13600000' WHERE Sname = '张三'; ``` 2. **将所有学生的年龄加一岁。** ```sql UPDATE Student SET Age = Age + 1; ``` 3. **删除张三的记录。** ```sql DELETE FROM Student WHERE Sname = '张三'; ``` 4. **有选课的学生年龄增加一岁。** ```sql UPDATE Student s SET Age = Age + 1 FROM Student s JOIN SC sc ON s.Sno = sc.Sno; ``` 5. **删除所有的选课记录。** ```sql DELETE FROM SC; ``` ####五、创建公司内部管理数据库1. **创建表tblEmployees** - **empID** (雇员代号):类型为`char(4)`,不允许为空; - **Name** (姓名):类型为`varchar(20)`,不允许为空; - **IDCardNum** (身份证号码):类型为`char(18)`,不允许为空; - **Salary** (工资):类型为`int`,不允许为空。创建表的SQL语句如下: ```sql CREATE TABLE tblEmployees ( empID char(4) NOT NULL, Name varchar(20) NOT NULL, IDCardNum char(18) NOT NULL, Salary int NOT NULL ); ``` 2. **创建表tblDepartments** - **DeptID** (部门号):类型为`char(2)`,不允许为空; - **DeptName** (部门名称):类型为`varchar(30)`,不允许为空。创建表的SQL语句如下: ```sql CREATE TABLE tblDepartments ( DeptID char(2) NOT NULL, DeptName varchar(30) NOT NULL ); ``` 3. **创建表tblWork** - **empID** (雇员代号):类型为`char(4)`,不允许为空; - **DeptID** (部门号):类型为`char(2)`,不允许为空; - **StartTime** (开始时间):类型为`datetime`,不允许为空; - **EndTime** (结束时间):类型为`datetime`,允许为空; - **Notes** (备注):类型为`varchar(1000)`,允许为空。创建表的SQL语句如下: ```sql CREATE TABLE tblWork ( empID char(4) NOT NULL, DeptID char(2) NOT NULL, StartTime datetime NOT NULL, EndTime datetime, Notes varchar(1000) ); ``` ####六、修改数据1. **修改表tblEmployees,将Salary的类型更改为money类型。** ```sql ALTER TABLE tblEmployees ALTER COLUMN Salary money; ``` 2. **为以上各表添加数据** ```sql INSERT INTO tblEmployees (empID, Name, IDCardNum, Salary) VALUES ('E001', '赵一', '110101199001011111', 5000), ('E002', '钱二', '110101199202022222', 6000), ('E003', '孙三', '110101199303033333', 7000); INSERT INTO tblDepartments (DeptID, DeptName) VALUES ('D1', '研发部'), ('D2', '销售部'), ('D3', '财务部'); INSERT INTO tblWork (empID, DeptID, StartTime, EndTime, Notes) VALUES ('E001', 'D1', '2022-01 09:00', '2022-01 18:00', '项目A'), ('E002', 'D2', '2022-01-02 09:00', '2022-01-02 17:00', '项目B'), ('E003', 'D3', '2022-01-03 09:00', NULL, '项目C'); ``` 3. **修改数据** ```sql --修改赵一的工资为6000 UPDATE tblEmployees SET Salary = 6000 WHERE Name = '赵一'; --修改钱二所在部门为财务部UPDATE tblWork w SET w.DeptID = (SELECT DeptID FROM tblDepartments WHERE DeptName = '财务部') FROM tblWork w JOIN tblEmployees e ON w.empID = e.empID WHERE e.Name = '钱二'; ``` 4. **删除数据** ```sql --删除赵一的所有工作记录DELETE FROM tblWork WHERE empID = (SELECT empID FROM tblEmployees WHERE Name = '赵一'); ```通过上述步骤,我们可以看到如何创建数据库和表,如何修改表结构,如何插入、更新和删除数据等关键知识点。这些操作是数据库管理和维护的基础,对于学习和掌握数据库技术非常重要。
表与数据处理实验
相关推荐
处理实验数据矩阵基于Matlab的数据处理技巧
实验中,重复序列需要具有相同的实验条件。记录的数据一般存储在矩阵中,每个行向量表示不同实验序列的数据。因此,在绘制实验数据之前,必须对这种矩阵进行特定处理,以计算最大值、最小值或平均值。
Matlab
12
2024-08-28
RMAN恢复的truncate表数据处理
此类是不完全恢复类型,基于时间点恢复,恢复后,应该再次进行一次全备。
Oracle
11
2024-11-04
MATLAB数学建模与数据实验的数据处理工具
MATLAB作为数学建模与实验中的重要工具,提供了清晰明了的数据处理程序。
Matlab
10
2024-07-19
Spark编程基础实验三数据处理入门
Spark 的数据操作能力确实挺强的,是做文本的时候,简单直接还蛮高效的。像“Spark 编程基础实验三数据”这个资源就挺实用,适合刚接触 Spark 的朋友练练手。
分布式计算框架的 Spark,启动快,操作流畅,用 Python 配合起来还挺顺手。实验用的是data-set01.txt文本文件,结构简单,适合入门练习。
先从创建 Spark 会话开始,用pyspark就能搞定:
from pyspark import SparkConf, SparkContext
conf = SparkConf().setAppName("SparkProgrammingBasics")
sc = Sp
spark
0
2025-06-15
ETL实验3使用Kettle进行记录数据处理
ETL(Extract, Transform, Load)是数据仓库领域中的关键过程,用于从各种源系统抽取数据,进行清洗、转换,并加载到目标系统中。在这个ETL实验3:记录处理中,我们将深入探讨如何使用Kettle(Pentaho Data Integration,简称PDI)工具来处理记录,包括输入、值替换、字符串操作、排序、去重和分组等一系列操作。
1. 输入Excel
在Kettle中,通常使用Excel输入步骤来读取Excel文件。这一步骤允许用户指定工作表名,选择要读取的列,并定义数据类型。在实验中,创建一个包含序号、学号、班级、学籍、籍贯、数学和英语成绩的Excel文件作为数据源。
统计分析
8
2024-10-28
数值分析与数据处理
科学计算语言Matlab的程序设计相关函数代码支持免费资源。
Matlab
18
2024-07-26
Stata数据处理与分析
大数据分析软件Stata,可用于详细处理和分析各类数据。
算法与数据结构
13
2024-08-04
DPS数据处理实验设计与统计分析资料集
实验设计的数据搞不清楚?DPS 数据系统这本书挺能帮上忙的。它不是那种纯理论的书,案例蛮多,用起来比较接地气,尤其你要是搞农业科研、医学生物或者工程统计,真挺合适。
实验设计那块儿,DPS 支持的模型比较丰富,像完全随机设计、拉丁方设计、析因设计都能玩,而且布局设置挺灵活。你可以按自己的研究目标自定义方案,控制误差也方便。
统计功能蛮全的。像t 检验、ANOVA、主成分这些常见方法一应俱全,响应也快,操作起来没太多门槛。初学者看个例子就能上手。
数据挖掘也能搞,支持聚类、判别、关联规则这些常用手法。你如果有大量杂乱的数据,不知道怎么下手,DPS 帮你一顿,模式和趋势一目了然。
适合搞农业科研的
数据挖掘
0
2025-06-29
Matlab数据处理磁引力数据处理代码
Matlab数据处理文件夹“ process_data”包含用于执行所有处理的代码“ process_data.m”。文件夹“ plot”包含克里斯汀·鲍威尔(Christine Powell)编写并修改的宏“ plot_cen_maggrav”。代码可用于下降趋势、上升延续、极点减小、垂直和水平导数。
Matlab
12
2024-09-28