方立勋_30天掌握JavaWeb_数据库表设计
定义外键约束
丈夫、妻子表:
妻子用一个husband_id来说明wife丈夫是哪个。
一对多对象表设计
部门、员工表:
一个部门可以有多个员工,员工表通过department_id说明属于哪个部门。
一对多或多对一的对象存到数据库时,表的设计方案
部门和员工
create table department
(
id int primary key,
name varchar(40)
);create table employee
(
id int primary key,
name varchar(40),
salary decimal(8,2),
department_id int,
constraint department_id_FK foreign key(department_id) references department(id)
);
多对多对象表关系设计
教师、学生表:
通过一张中间表teacher_student来说明关系。
多对多对象的表的设计(老师和学生)
create table teacher
(
id int primary key,
name varchar(40),
salary decimal(8,2)
);create table student
(
id int primary key,
name varchar(40)
);create table teacher_student
(
teacher_id int,
student_id int,
primary key(teacher_id,student_id),
constraint teacher_id_FK foreign key(teacher_id) references teacher(id),
constraint student_id_FK foreign key(student_id) references student(id)
);
一对一对象表设计(具体主从关系)
人、身份证表:
省份证是从表,直接用主键id作为外键。
一对一的对象的数据库设计
create table person
(
id int primary key,
name varchar(40)
);create table idcard
(
id int primary key,
city varchar(40),
constraint id_FK foreign key(id) references person(id)
);
自连接的表设计
家谱管理系统。
打个比如:你爷爷生了你爸爸,你爸爸生你,你又生了孩子。
Person对象:id、姓名、Person(记住爸爸)、Children(记住孩子)。
这样的表设计,直接存入了一张表,用一个字段parent_id来说明。parent_id 来自id,需要加外键约束,不能加非空约束。
create table person
(
id int primary key,
name varchar(40),
parent_id int,
constraint parent_id_FK foreign key(parent_id) references person(id)
);
当然显示实际开发中,有的为了查询效率,并不会这么设计,可能会去增加冗余字段加快查询速度。
方立勋_30天掌握JavaWeb_数据库表设计相关推荐
- 方立勋_30天掌握JavaWeb_自己编写jdbc框架、dbutils框架(未完)
元数据:数据库.表.列的定义信息. Connection.getDatabaseMetaData() DataBaseMetaData对象 getURL():返回一个String类对象,代表数据库的U ...
- 方立勋_30天掌握JavaWeb_自定义标签
自定义标签主要用于移除Jsp页面中的java代码. 使用自定义标签移除jsp页面中的java代码,只需要完成以下两个步骤: 编写一个实现Tag接口的Java类(标签处理器类). 编写标签库描述符(tl ...
- 方立勋_30天掌握JavaWeb_使用httpUrlConnection模似ie
在手机应用开发常常需要用到. 模拟ie浏览器访问. import java.io.InputStream; import java.io.OutputStream; import java.net.H ...
- 方立勋_30天掌握JavaWeb_国际化开发
国际化开发概述 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的.符合来访者阅读习惯的页面或数据. 国际化又称为 i18n:internati ...
- 方立勋_30天掌握JavaWeb_(Servlet+JSP+JavaBean实现)用户注册和登陆
JSP+JavaBean模式适合开发业务逻辑不太复杂的web应用程序,这种模式下,JavaBean用于封装业务数据,JSP即负责处理用户请求,又显示数据. Servlet+JSP+JavaBean(M ...
- 方立勋_30天掌握JavaWeb_(JSP+JavaBean实现)简单计算器
JSP+JavaBean模式适合开发业务逻辑不太复杂的web应用程序,这种模式下,JavaBean用于封装业务数据,JSP即负责处理用户请求,又显示数据. Servlet+JSP+JavaBean(M ...
- 方立勋_30天掌握JavaWeb_JDBC、SQL防注入(一)
JDBC简介 数据库驱动 SUN公司为了简化.统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JDBC. JDBC全称为:Java Data Base Connectivity(java ...
- 方立勋_30天掌握JavaWeb_Servlet
Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览 ...
- 方立勋_30天掌握JavaWeb_Servlet Filter(过滤器)未完
Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片 ...
最新文章
- 线程组多次调用_详细分析 Java 中启动线程的正确和错误方式
- 数据在HDFS和HBASE之间互相传递的过程
- 如何在vc的拆分窗口中使用CFormView派生类
- 如何调用Altera FPGA的内嵌乘法器
- Smoke Test与Ad hoc Test
- 为什么不能在子类的初始化列表里初始化父类的成员
- ContentProvider和Uri详解
- css过度效果 从无到有,求教,对于CSS3 transition和transform实现的一个特效原理不是太明白?...
- ECCV18 | 无监督难分样本挖掘改进目标检测
- C语言输入中10A20B,C语言实验报告第3章答案.doc
- java小数正负数据类型_Java - day001 - 8种基本数据类型
- 构建机器学习系统的20个经验教训
- 主板24pin接口详图_特殊装机:24pin主板用20pin的供电
- 主动学习、纯半监督学习与直推学习
- Youtube字幕下载转SRT字幕
- 安装RabbitMQ出现Plugin configuration unchanged.问题
- Seata部署TC服务实现高可用和异地容灾
- 解读PMP考点:管理储备和应急储备
- 用 CSS 实现图片的马赛克风格
- Windows PowerShell学习笔记(一)