PostgreSQL数据库练习:创建学院、学生、课程与成绩表
74 浏览量
更新于2024-08-30
收藏 180KB PDF 举报
"该资源是关于PostgreSQL数据库的练习,主要涵盖了如何创建四个核心表格:department(部门)、student(学生)、course(课程)和sc(选课记录)。每个表格都有其特定的字段和约束,例如主键、唯一键、外键和检查条件,用于维护数据的一致性和完整性。此外,还提供了向department表中插入数据的例子。"
在PostgreSQL中,这些练习涉及到以下关键知识点:
1. **表结构设计**:
- `department` 表包括部门编号(dNo)、部门名称(dName)、办公室房间号(officeRoom)和主页(homePage),其中dNo为主键且唯一。
- `student` 表包含学生编号(sNo)、姓名(sName)、性别(sex)、年龄(age)和所在部门编号(dNo),sNo为主键,sex有检查约束,只允许'男'或'女',dNo为外键关联department表。
- `course` 表有课程编号(cNo)、课程名称(cName)、先修课程编号(cPNo)、学分(credit)和部门编号(dNo),cNo为主键,cPNo和dNo为外键分别关联course和department表,形成自引用。
- `sc` 表记录学生的选课情况,包括学生编号(sNo)、课程编号(cNo)、分数(score)和记录日期(recordDate),sNo和cNo为主键,同时为外键关联student和course表。
2. **数据类型**:
- 使用了不同的数据类型,如CHAR、VARCHAR、INT、DATE等,来适应不同字段的存储需求。
- CHAR(n) 类型用于固定长度的字符串,如部门编号dNo和课程编号cNo。
- VARCHAR(n) 类型用于可变长度的字符串,如部门名称dName和学生姓名sName。
- INT 用于整数,如年龄age和学分credit。
- DATE 用于日期,如记录日期recordDate。
3. **约束**:
- `NOT NULL` 约束确保字段不能为NULL。
- `UNIQUE` 约束确保字段的值在表中是唯一的,如dNo和sNo。
- `PRIMARY KEY` 定义了表的主键,用于标识表中的唯一记录。
- `FOREIGN KEY` 定义了外键,用于连接两个表,确保数据的参照完整性。
- `CHECK` 约束用于限制字段值的范围,如性别的检查。
4. **数据插入**:
- 使用`INSERT INTO`语句向department表中插入数据,提供了一个实例,展示了如何向已有表中添加记录。
这些练习可以帮助学习者理解数据库设计的基本原则,如何定义表结构,使用不同的数据类型,以及如何通过外键建立表之间的关系。同时,数据插入部分则展示了实际操作数据库,向表中添加数据的过程。这些知识对于任何涉及数据库管理和开发的工作都是至关重要的。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-04-02 上传
2019-09-18 上传
2021-05-19 上传
2023-07-27 上传
2012-12-11 上传
weixin_38657465
- 粉丝: 7
- 资源: 948
最新资源
- MATLAB实现小波阈值去噪:Visushrink硬软算法对比
- 易语言实现画板图像缩放功能教程
- 大模型推荐系统: 优化算法与模型压缩技术
- Stancy: 静态文件驱动的简单RESTful API与前端框架集成
- 掌握Java全文搜索:深入Apache Lucene开源系统
- 19计应19田超的Python7-1试题整理
- 易语言实现多线程网络时间同步源码解析
- 人工智能大模型学习与实践指南
- 掌握Markdown:从基础到高级技巧解析
- JS-PizzaStore: JS应用程序模拟披萨递送服务
- CAMV开源XML编辑器:编辑、验证、设计及架构工具集
- 医学免疫学情景化自动生成考题系统
- 易语言实现多语言界面编程教程
- MATLAB实现16种回归算法在数据挖掘中的应用
- ***内容构建指南:深入HTML与LaTeX
- Python实现维基百科“历史上的今天”数据抓取教程