上节回顾:
等值连接:
非等值连接:
外连接:
左外连接:
右外连接:
from 主表,副表
自连接:
组函数:
group by 分组 having 过滤条件
数据库=====》 数据建模需注意的事项
软件开发流程:
1、跟客户确定系统需求
2、形成需求分析文档
3、做设计文档(相关数据===实体、表、数据、抽象~)
4、编码
5、测试、试运行
6、产品上线、运行
如何把模型想法转变为实体====把实体如何转换为表关系
Entity 实体 表和类之间
Attribute 属性 属性和表中的字段的关系
Relationship 关系 关系的映射 表和表之间
建表的三大范式:
第一范式:数据表当中每一列都是不可再分割的,每个表当中只能包含一个实例信息;
第二范式:要求数据表中的每个实例或者行可以被唯一的区分,为实现区分通常需要给每列添加唯一标识列(主键)做为唯一的标识;
第三范式:要求一数据库表中不包含已经在其他表中已包含的非主键字信息属性不依赖于其他的非主属性。
约束:
PKprimary key唯一且非空(主键约束)
FKforeign key 一张表要引用另一张表(外键约束)
UKunique key唯一可为空(唯一约束)
NOT NULL设置不可为空(非空约束)
类型:
varchar2(32)可变长的 "abcddd"
varchar(32)
number
number(p,s) 有小数位数
date 日期
long大文本2GB
clob存入二进制数据类型图像、声音
建表语法
CREATE TABLE 表名(
字段 类型,
字段类型,
.......
字段类型
);
PKprimary key
create table Test(
id number primary key,
name varchar2(32) not null
);
FKforeign key
create table Test1(
test1_id number primary key,
test1_name varchar2(32) not null,
);
create table Test2(
test2_id number references test1(test1_id),
test2_name varchar2(32) not null,
primary key(test2_id)
);
关键字:FK=======》references
UKunique key
create table Test(
id number unique,
name varchar2(32) not null
);
NOT NULL
create table Test(
id number,
name varchar2(32) not null
);
添加记录
insert into 表名 values(值);
insert into test values(1,'123');
一对一:
card身份证号 person人
create table person(
id numberprimary key,
name varchar2(32)
);
create table card(
c_id numberreferences person(id),
namevarchar2(32),
primary key(c_id)
);
一对多:
人person 书book
create table person(
idnumberprimary key,
name varchar2(32)not null
);
create table book(
book_id numberprimary key,
namevarchar(32)not null,
person_id number references person(id)
);
多对多:
学生student 课程course
create table student(
s_id number primary key,
s_name varchar2(32)not null
);
create table course(
c_id number primary key,
c_name varchar2(32)not null
);
//中间表
create table StudentSelectCourse(
s_id number references student(s_id),
c_id number references course(c_id),
primary key(s_id,c_id)
);
作业:
1、VSTS虚拟股票交易系统的数据字典;
2、VSTS虚拟股票交易系统表结构;
分享到:
相关推荐
python 10、MYSQL_数据库 1-4_数据库基础、数据表设计、数据表创建_Day001_PM.mp4
python 10、MYSQL_数据库 1-2_数据库基础、数据表设计、数据表创建_Day01_PM.mp4
在IT行业中,数据库是至关重要的组成部分,用于存储、管理和检索数据。...通过学习这些知识点,你将能够熟练地在Python环境中进行数据库的创建、查询、更新和删除等操作,为后续的开发工作打下坚实的基础。
这一部分通常会被细分为两个小章节,第一个小章节介绍SQL的基本构成,比如数据定义语言(DDL)、数据操纵语言(DML)等,这些都是进行数据库创建、修改、查询和管理的基础。第二小章节则深入探讨SQL的高级特性,如...
6.1 案例分析:结合黑马程序员的day1至day4的讲义和笔记,深入理解在实际项目中如何应用Hibernate,解决具体问题。 总结,Hibernate作为强大的ORM框架,为Java开发者提供了便利,通过理解并熟练掌握其核心概念、...
### 千方百剂数据库说明 #### 概述 本文档旨在详细介绍“千方百剂”系统中的各个数据表及其用途,以帮助用户更好地理解和利用这些数据进行管理与分析。请注意,此文档仅供学习和研究使用,请勿将其用于任何商业目的...
其中,DDL用于创建或修改数据库的结构,DML用于操作数据库中的数据,DQL用于查询数据,DCL用于管理数据库用户的权限。 一个完整的数据库系统,比如广泛使用的MySQL,是由客户端和服务器两部分组成的C/S(Client/...
【数据库学习_day3】知识点详解 数据库是存储和管理数据的核心工具,对于IT专业人士来说,深入理解数据库至关重要。本篇文章将详细阐述数据库的基础知识,包括字段类型、记录长度、字段属性以及主键和唯一键的概念...
在数据库设计中,表的设计是非常重要的一步。一个良好的表结构可以提高数据的存储效率和查询效率。本文将通过实践,讲解如何设计和创建 student 和 score 两个表,并为它们增加索引。 学生表(Student) 学生表是...
在给定的资源中,`lunar.sql`文件很可能包含了创建这样一个数据库所需的SQL脚本,包括创建表的DDL(Data Definition Language)语句和插入数据的DML(Data Manipulation Language)语句。 首先,让我们讨论如何构建...
你需要知道如何安装并配置数据库,以及如何创建表结构来存储小说信息。SQL语言的基础知识也很关键,包括INSERT、SELECT、UPDATE和DELETE等语句。 5. **Python数据库接口**:Python提供了多种与数据库交互的库,如...
4. 数据库模型:关系数据库模型以二维表的形式组织数据,选项C正确。 5. 清空表数据:`TRUNCATE TABLE`用于删除表中所有数据,但保留表结构。 6. E-R图设计:E-R图属于概念结构设计阶段。 7. GREATEST函数:此...
【MySQL数据库创建与管理】 MySQL是一种广泛使用的开源关系型数据库管理系统,它提供了强大的数据存储和管理功能。在MySQL中,数据库和表是数据组织的基本单位。以下是对标题和描述中涉及的知识点的详细解释: 1. ...
- **主要内容:** 包括Oracle数据库的基础概念、安装流程、数据库创建与管理等核心主题。 #### Oracle 11g 2天DBA 官方文档概述 - **版本:** Oracle 11g Release 2 (11.2) - **文档编号:** E10897-10 - **发布时间:*...
2. **创建数据存储目录**:MySQL需要一个特定的目录来存储数据库文件。根据`my.ini`配置文件中的设置,创建一个名为“data”的目录,并指定为MySQL的数据目录。 3. **编辑配置文件**:`my.ini`是MySQL的配置文件,...
"database_tourism.sql"可能是数据库的初始脚本或备份文件,通常包含创建表、插入数据等SQL语句,用于初始化或恢复数据库状态。"day24"可能是一个目录或文件,代表了项目的源代码,可能包含了爬虫程序的Python文件,...
数据库备份是指创建数据库的一个或多个副本的过程,以便在数据丢失、损坏或系统崩溃等情况下能够恢复数据。备份是数据保护策略的重要组成部分,能够帮助组织避免数据丢失带来的灾难性后果。 ### 二、数据库备份的...
Oracle表分区是一种非常重要的数据库优化技术,它可以将大型表分割成多个小的独立表,从而提高查询效率和数据管理效率。在本篇文章中,我们将使用Kettle来自动创建Oracle表分区。 Oracle表分区是指将一个大型表分割...
MySQL日历数据表是数据库设计中的一个重要组成部分,尤其在处理日期和时间相关的应用时,如日历应用、事件管理、中国传统节日提醒等。这个压缩包文件"mysql日历数据表1900-2100(公历表和农历表).rar"包含了从1900年...
【通达OA数据库数据字典】是对通达OA(Tongda Office Automation)系统数据库中的数据表进行详细解析的文档,旨在帮助用户理解和管理该系统的数据结构。以下将对涉及的几个关键表进行深入解析: 1. **address** 表...