方立勋_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, 静态图片 ...
最新文章
- 2019最新版本的PanDownload纯净版,网盘满速下载和搜索神器,追剧和动漫新番必不可少的下载工具【亲测有效】
- Oozie中允许hive程序xml配置
- Android studio | From Zero To One ——滚动视图ScrollView
- Java多线程环境检测系统中是否存在死锁和死锁恢复代码示例
- 飞鸽传书内部护眼神功
- 理论基础 —— 线性表 —— 单链表
- 北京工业大学c语言期末考试题,北京工业大学C语言部分练习答案.docx
- JAVA听力源码_剑桥雅思13Test4Section4听力原文与答案 The History of Coffee
- java获取已经打开的串口的输出流_使用Java读取串口的程序(转)
- _blank开新窗口不符合标准?
- 前端学习JQuery篇03——基本操作(效果)
- Lightroom Classic 教程,如何将照片从 Lightroom 移至Ps,在 Ps 中为照片应用滤镜?
- 面试感悟----一名3年工作经验的程序员应该具备的技能
- 读书行动笔记2013第2本:《整理的艺术》
- 目前见过最好的豆瓣电台第三方程序
- Nitrux安装JDK-10(Linux通用)教程
- 组建团队和调整团队结构
- 中文转UTF-8 和UTF-8转中文
- Python实现随机抽签
- 11_FreeRTOS时间片调度实验