当前位置: 首页 > news >正文

简单表管理

1.创建表(学生表,课程表,成绩表)
--首先创建数据库 STUxxx
CREATE DATABASE STU065;
USE STU065;
--创建学生表
CREATE TABLE SSS065(SNO CHAR(10) NOT NULL PRIMARY KEY, -- 学号SNAME VARCHAR(20) NOT NULL, -- 姓名DEPA VARCHAR(20), -- 系别AGE INT, -- 年龄SEX NCHAR(1), -- 性别TEL CHAR(11) -- 电话
);
--创建课程表
CREATE TABLE CCC065(CNO CHAR(3) NOT NULL PRIMARY KEY,--课程号CNAME VARCHAR(20) NOT NULL,--课程名cpno CHAR(3),--先修课号credit INT--学分
);
--创建成绩表
CREATE TABLE SC065(SNO CHAR(10) NOT NULL,--学号CNO CHAR(3) NOT NULL,--课程号GRADE DECIMAL(4,1),--成绩PRIMARY KEY (SNO, CNO),FOREIGN KEY (SNO) REFERENCES SSS065(SNO),FOREIGN KEY (CNO) REFERENCES CCC065(CNO)
);
SELECT * FROM SSS065
SELECT * FROM CCC065
SELECT * FROM SC065

在这里插入图片描述

2.结合集美大学教务管理系统学生成绩信息:

在这里插入图片描述

创建表(学生表JDSXXX,课程表JDCXXX,成绩表JDSCXXX),选择适当属性和类型。成绩=(0.3*平时+0.7*期考)
-- 创建学生表 JDS065
CREATE TABLE JDS065(SNO CHAR(10) NOT NULL PRIMARY KEY, -- 学号,主键SNAME VARCHAR(20) NOT NULL, -- 姓名SEX CHAR(1), -- 性别CLASS VARCHAR(20), -- 班级MAJOR VARCHAR(20), -- 专业COLLEGE VARCHAR(20) -- 学院
);-- 创建课程表 JDC065
CREATE TABLE JDC065(CNO CHAR(8) NOT NULL PRIMARY KEY, -- 课程号,主键CNAME VARCHAR(50) NOT NULL, -- 课程名称CREDIT INT -- 学分
);-- 创建成绩表 JDSC065
CREATE TABLE JDSC065(SNO CHAR(10) NOT NULL, -- 学号,外键CNO CHAR(8) NOT NULL, -- 课程号,外键TERM VARCHAR(10), -- 学期USUAL_SCORE DECIMAL(5,1), -- 平时成绩FINAL_SCORE DECIMAL(5,1), -- 期考成绩GRADE DECIMAL(5,1), -- 成绩CATEGORY VARCHAR(10), -- 修习类别PROPERTY VARCHAR(10), -- 考试性质STATUS VARCHAR(10), -- 考试状态PRIMARY KEY (SNO, CNO, TERM),FOREIGN KEY (SNO) REFERENCES JDS065(SNO),FOREIGN KEY (CNO) REFERENCES JDC065(CNO)
);
SELECTSNO AS 学号,CNO AS 课程号,TERM AS 学期,USUAL_SCORE AS 平时成绩,FINAL_SCORE AS 期考成绩,(USUAL_SCORE * 0.3 + FINAL_SCORE * 0.7) AS 最终成绩
FROMJDSC065;SELECT * FROM JDS065;
SELECT * FROM JDC065;
SELECT * FROM JDSC065;

在这里插入图片描述
在这里插入图片描述

3.超市管理系统,有商品,员工(收银员),顾客等实体,完成基本的购物功能,应该设计哪些表?如何设计表?

每个表的表名:名称XXX(如商品表:商品123,),选择适当属性和类型。

答:我觉得至少应该涉及4个表,商品、员工、顾客、销售记录这几个部分的表,其中商品中可以提到商品的名称、价格、类型之类的,员工中可以涉及员工的id、姓名、职位、电话、入职时间等,顾客中可以涉及到顾客的id、姓名以及在该商场体统中的会员号等信息,销售记录中可以涉及到商品id、员工id、顾客信息、还有销售时间和具体数量等信息。
– 商品表:商品123

CREATE TABLE 商品123 (PID INT NOT NULL PRIMARY KEY, -- 商品IDPNAME NVARCHAR(100) NOT NULL, -- 商品名称CATEGORY NVARCHAR(50), -- 商品类别PURCHASEPRICE DECIMAL(10, 2), -- 进货价格SALEPRICE DECIMAL(10, 2), -- 销售价格STOCK INT -- 库存数量
);
-- 员工表:员工123
CREATE TABLE 员工123 (EID INT NOT NULL PRIMARY KEY, -- 员工IDENAME NVARCHAR(50) NOT NULL, -- 姓名POSITION NVARCHAR(50), -- 职位PHONE CHAR(11), -- 联系电话HIREDATE DATE -- 入职日期
);
-- 顾客表:顾客123
CREATE TABLE 顾客123 (CID INT NOT NULL PRIMARY KEY, -- 顾客IDCNAME NVARCHAR(50) NOT NULL, -- 姓名MEMBERCARD CHAR(20), -- 会员卡号POINTS INT -- 积分
);
-- 销售记录表:销售记录123
CREATE TABLE 销售记录123 (RID INT NOT NULL PRIMARY KEY, -- 记录IDPID INT, -- 商品IDEID INT, -- 员工IDCID INT, -- 顾客IDQUANTITY INT, -- 销售数量SALETIME DATETIME, -- 销售时间FOREIGN KEY (PID) REFERENCES 商品123(PID),FOREIGN KEY (EID) REFERENCES 员工123(EID),FOREIGN KEY (CID) REFERENCES 顾客123(CID)
);

在这里插入图片描述

4.把第1题中的SXXX,增加联系地址列,设置合适的类型;并把sname改为nchar(4);删除tel列

– 增加联系地址列
ALTER TABLE SSS065
ADD 联系地点 NVARCHAR(100);

– 把 sname 改为 nchar(4)
ALTER TABLE SSSS065
ALTER COLUMN SNAME NCHAR(4);

– 删除 tel 列
ALTER TABLE SSS065
DROP COLUMN TEL;
SELECT * FROM sys.tables WHERE name = ‘SSS065’;
SELECT DB_NAME();
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.实验小结(实验中遇到的问题及解决过程、实验中产生的错误及原因分析、实验体会和收获)

问题:
这次相比于上次来说,在操作SQL这个软件上会稍微地熟练了不少,并且对于创建表的流程和内容会更加熟悉,但是还是存在着一些问题,首先就是在创建表时还是不够完善,没法做到创建的表可以像平时看到的表格一样展现出来,可能想完成这一步还需要更多其他功能的加入吧。
然后,就是对于表的创建,当表已经创建但是发现表里面的内容有问题时,我目前选择的方法是将表修改名称(也就是重新创建新表),还没有选择删除或者直接对该表内部的内容进行修改,这一点是需要我后续去改进的,在后续的学习内容中肯定会涉及到这几个功能的。
接着,应该是一个还没有成功解决的问题,就是第四小题中的,把sname改为nchar(4)这个功能还没能实现,出现的问题是显示找不到该对象或是没有权限,通过借助AI软件,我查询到该对象是存在的,那问题可能就是出现在我还没有所需的权限(这一点我确实有些不明白,不知道后续的课程中老师会不会提及到这个问题)。
最后,其实我也不太明白是否我本次的实验还有未实现的功能或是什么,希望在未来的课程中可以了解到更多数据库原理这门课程的知识以及魅力所在吧。

http://www.xdnf.cn/news/234721.html

相关文章:

  • SV 仿真的常识
  • 从有线到无线:冶炼工厂的高效转型
  • C盘哪些文件删除之后无影响,可以清理磁盘空间。
  • Web应用开发指南
  • PostgreSQL中的SSL(2)
  • Missashe考研日记-day31
  • UNet 改进(21):可变形卷积UNet架构
  • Java 实现 SM4 加密解密
  • SpringAI实现AI应用-搭建知识库
  • GPU集群搭建
  • BOTA新六维力传感器PixONE:用12维度力矩与运动感测,驱动人形机器人力控未来
  • Compose笔记(二十)--TextField
  • (31)VTK C++开发示例 ---绘制立方体
  • 第 12 届蓝桥杯 C++ 青少组中 / 高级组省赛 2021 年 4 月 24 日真题
  • C++好用的打印日志类
  • 2025.4.24 JavaScript 基础学习笔记
  • [特殊字符] 蓝桥杯省赛全解析:含金量、获奖难度、参赛意义与发展价值全面剖析
  • 精华贴分享|【零敲碎打12】类筹码数据构建-散户行为倾向
  • react初学踏坑记录-if(number)到底过滤了什么
  • leetcode0075. 颜色分类-medium
  • 数学:拉马努金如何想出计算圆周率的公式?
  • 大连理工大学选修课——机器学习笔记(3):KNN原理及应用
  • 【中间件】bthread效率为什么高?
  • 12.Three.js 中的 DirectionalLight(平行光)详解指南
  • Python第四周作业
  • 软件系统验收报告:功能、性能稳定性如何?数据导出卡顿咋回事?
  • SpringBoot使用Mybatis-Plus分页无效
  • 云蝠智能大模型呼叫,音色升级啦!
  • 这些是什么充电模块调试手段,对USB、Thermal、DP
  • 【Agent】MCP协议 | 用高德MCP Server制作旅游攻略