活动介绍
file-type

MySQL数据库操作与联合主键详解

PPT文件

下载需积分: 0 | 57KB | 更新于2024-08-15 | 192 浏览量 | 0 下载量 举报 收藏
download 立即下载
"这篇文档主要介绍了MySQL中的联合主键概念,并涵盖了数据库的基本操作、SQL语句的分类、数据类型、范式理论以及表约束。同时,给出了学生表、班级表和分数表的示例,强调了联合主键在确保数据完整性和一致性中的作用。" 在MySQL数据库中,联合主键是一个由两个或更多列组成的复合键,用于唯一标识表中的每一行。例如,在描述中提到的"Primary key(sno, cno)"就是一个联合主键,它由学号sno和课程号cno共同构成,确保了每条记录的唯一性。在设计数据库表结构时,当单一列无法满足唯一性要求时,可以使用联合主键。 数据库操作方面,可以通过以下命令进行基本的MySQL交互: 1. 登录数据库:`mysql –u用户名–p密码` 2. 执行SQL文件:`source.sql文件绝对路径` 3. 查看所有数据库:`Show databases;` 4. 创建数据库:`Create database 数据库名;` 5. 删除数据库:`Drop database 数据库名;` 6. 进入指定数据库:`Use 数据库名;` 7. 查看所有表:`Show tables;` 8. 查看表结构:`Desc 表名;` 9. 创建表:使用`Create table`语句,定义列及约束。 10. 删除表:`Drop table;` 11. 修改表:`Alter table;` SQL语句主要分为三类: 1. DDL(Data Definition Language)数据定义语言,用于创建、修改和删除数据库对象如表、视图等。 2. DML(Data Manipulation Language)数据操纵语言,用于插入、更新、删除数据。 3. DCL(Data Control Language)数据控制语言,用于权限管理,如`grant`和`revoke`。 数据类型包括: 1. `Bigint`:长整型 2. `Varchar(int)`:可变长度字符型,括号内的int表示最大长度 3. `Double`:浮点型 4. `Date`:日期类型,如`current_date` 5. `Time`:时间类型,如`current_time` 6. `Timestamp`:时间戳类型,如`current_timestamp` 范式理论是数据库设计的基础,主要包括: 1. 第一范式(1NF):确保每一列都是不可再分的基本数据项,无重复数据。 2. 第二范式(2NF):在1NF的基础上,非主属性完全依赖于主键。 3. 第三范式(3NF):在2NF基础上,消除非主属性对主键的传递依赖。 表约束用于保证数据的完整性和一致性: 1. 主键(`primary key`):确保每行的唯一性,实现实体完整性。 2. 外键(`foreign key (FK)`):建立表间关系,实现参照完整性。 3. 唯一约束(`unique (UK)`):确保列中的值唯一。 4. 非空约束(`not null`):确保列的值不为空。 5. 检查约束(`check`):限制列的值必须满足特定条件。 根据描述,创建的数据库exam包含学生表、课程表和分数表,其中学生表的结构如下: - 学号(sno,主键,唯一) - 姓名(sname,字符型,非空) - 地址(address,字符型) - 出生日期(birthdate,日期型,非空,小于当前日期) - 总分(total_score,浮点型) - 班级编号(class_no,字符型,外键,参照班级表的班级编号) 班级表的结构如下: - 班级编号(class_no,主键,唯一,非空) - 班级名称(class_name,唯一,非空) 分数表的结构如下: - 学号(sno) - 课程号(cno) - 分数(score) 最后,将建表语句保存到`.sql`文件中,通过源代码执行导入数据库。联合主键在这里的作用是确保学生和课程的组合具有唯一性,防止出现重复记录。

相关推荐

filetype
内容概要:本文以电商仓储物流机器人为案例,深度解析机器人开发全流程,涵盖ROS系统搭建、SLAM建图、路径规划、机械臂控制、多机调度等核心技术。首先介绍了分层模块化架构和核心硬件选型,如主控制器、激光雷达、深度相机、驱动底盘和协作机械臂。接着详细讲述了ROS系统开发的核心实战,包括环境感知与SLAM建图、自主导航与动态避障等技术,提供了代码示例和技术关键点。然后探讨了机械臂抓取任务开发,涉及视觉定位系统、运动规划与力控制。随后介绍了多机器人集群调度系统的任务分配模型和通信架构设计。还讨论了安全与可靠性保障措施,包括硬件级安全设计和软件容错机制。最后总结了实战问题与解决方案,以及性能优化成果,并推荐了四大核心代码库和仿真训练平台。 适合人群:对机器人开发感兴趣的研发人员,尤其是有一定编程基础并希望深入了解仓储机器人开发的技术人员。 使用场景及目标:①学习仓储机器人从系统集成到底层硬件部署的全流程;②掌握ROS系统开发的核心技术,如SLAM建图、路径规划、机械臂控制等;③理解多机器人集群调度和安全可靠性设计;④解决实际开发中的常见问题并优化系统性能。 阅读建议:本文内容详实,涵盖了从硬件选型到软件开发的各个方面,建议读者结合实际项目需求,逐步深入学习,并通过实践操作加深理解。同时,利用提供的开源项目和仿真训练平台进行实验和验证。