创建银行数据库(database 第5版)
文章目录
- 一、建立数据库
- 1.六个表的内容
- 2.表内部关系的说明
- (1)创表分先后
- (2)六个表:
- (3)内容说明
- 3.建立表的代码
- (1)建立数据库
- (2)表branch
- (3)表account
- (4)customer表
- (5)depositor表
- (6)loan表
- (7)borrower表
- 附录:一键建库
一、建立数据库
1.六个表的内容
第2章2-3 branch表
第2章图2-1 account表
第2章图2-4 customer表
书上的customer表:
实际的customer表:因为borrower表有一个Jackson,而borrower中有customer的外码,所以要插入一个Jackson到customer表中。
第2章图2-5 depositor表
第2章图2-6 loan表
第2章图2-7 borrower表
2.表内部关系的说明
(1)创表分先后
先后指A表的外码就是引用B表的主码,所以得先创建B表
- branch表中branch_name是主码
- accout表中account_number是主码,branch_name是branch表中的外码
- customer表中customer_name是主码
- depositor表中customer_name是customer表中的外码,account_number是account表中的外码
- loan表中loan_number是主码,branch_name是branch表中的外码
- borrower表中customer_name是customer表中的外码,loan_number是loan表中的外码
(2)六个表:
branch (branch_name, branch_city, assets)
customer (customer_name, customer_street, customer_city)
account (account_number, branch_name, balance)
loan (loan_number, branch_name, amount)
depositor (customer_name, account_number)
borrower (customer_name, loan_number)
(3)内容说明
账户
account表示存款表,balance表示存款
depositor表示存款人表,有了存款人的名字customer_name。
借款
loan表示贷款表:amount表示贷款金额。
borrower表示贷款人表,有了贷款人的名字customer_name。
客户表
customer_name表示客户的名字,这些包括借钱的和存钱的。
3.建立表的代码
(1)建立数据库
create database bank;
use bank;
(2)表branch
创建
create table branch(
branch_name char(30) NOT NULL,
branch_city char(30),
assets decimal(12),
primary key(branch_name)
);
插入数据
insert into branch values
('Brighton','Brooklyn',7100000),
('Downtown','Brooklyn',9000000),
('Mianus','Horseneck',400000),
('North Town','Rye',3700000),
('Perryridge','Horseneck',1700000),
('Pownal','Bennington',300000),
('Redwood','Palo Alto',2100000),
('Round Hill','Horseneck',8000000);
(3)表account
创建
create table account (
account_number char(10),
branch_name char(30) NOT NULL,
balance decimal(12),
PRIMARY KEY (account_number),
FOREIGN KEY (branch_name) REFERENCES branch(branch_name),
CONSTRAINT chk_balance CHECK (balance >= 0 )
);
插入数据
insert into account values
('A-101','Downtown',500),
('A-102','Perryridge',400),
('A-201','Brighton',900),
('A-215','Mianus',700),
('A-217','Brighton',750),
('A-222','Redwood',700),
('A-305','Round Hill',350);
(4)customer表
创建
create table customer(
customer_name char(30),
customer_street char(30),
customer_city char(30),
primary key(customer_name)
);
插入数据
insert into customer values
('Adams','Spring','Pittsfield'),
('Brooks','Senator','Brooklyn'),
('Curry','North','Rye'),
('Glenn','Sand Hill','Woodside'),
('Green','Walnut','Stamford'),
('Hayes','Main','Harrison'),
('Johnson','Alma','Palo Alto'),
('Jones','Main','Harrison'),
('Lindsay','Park','Pittsfield'),
('Smith','North','Rye'),
('Turner','Putnam','Stamford'),
('Williams','Nassau','Princeton');
(5)depositor表
创建
create table depositor(
customer_name char(30),
account_number char(10),
FOREIGN KEY (customer_name) REFERENCES customer(customer_name),
FOREIGN KEY (account_number) REFERENCES account(account_number)
);
插入数据
insert into depositor values
('Hayes','A-102'),
('Johnson','A-101'),
('Johnson','A-201'),
('Jones','A-217'),
('Lindsay','A-222'),
('Smith','A-215'),
('Turner','A-305');
(6)loan表
创建
create table loan(
loan_number char(30),
branch_name char(30),
amount int,
primary key(loan_number),
FOREIGN KEY (branch_name) REFERENCES branch(branch_name)
);
插入数据
insert into loan values
('L-11','Round Hill',900),
('L-14','Downtown',1500),
('L-15','Perryridge',1500),
('L-16','Perryridge',1300),
('L-17','Downtown',1000),
('L-23','Redwood',2000),
('L-93','Mianus',500);
(7)borrower表
创建
create table borrower(
customer_name char(30),
loan_number char(30),
FOREIGN KEY (loan_number) REFERENCES loan(loan_number),
FOREIGN KEY (customer_name) REFERENCES customer(customer_name)
);
插入数据
insert into borrower values
('Adams','L-16'),
('Curry','L-93'),
('Hayes','L-15'),
('Jones','L-17'),
('Smith','L-11'),
('Smith','L-23'),
('Williams','L-17');
insert into customer values
('Jackson',null,null);
insert into borrower values
('Jackson','L-14');
附录:一键建库
create database bank;
use bank;create table branch(
branch_name char(30) NOT NULL,
branch_city char(30),
assets decimal(12),
primary key(branch_name)
);insert into branch values
('Brighton','Brooklyn',7100000),
('Downtown','Brooklyn',9000000),
('Mianus','Horseneck',400000),
('North Town','Rye',3700000),
('Perryridge','Horseneck',1700000),
('Pownal','Bennington',300000),
('Redwood','Palo Alto',2100000),
('Round Hill','Horseneck',8000000);create table account (
account_number char(10),
branch_name char(30) NOT NULL,
balance decimal(12),
PRIMARY KEY (account_number),
FOREIGN KEY (branch_name) REFERENCES branch(branch_name),
CONSTRAINT chk_balance CHECK (balance >= 0 )
);insert into account values
('A-101','Downtown',500),
('A-102','Perryridge',400),
('A-201','Brighton',900),
('A-215','Mianus',700),
('A-217','Brighton',750),
('A-222','Redwood',700),
('A-305','Round Hill',350);create table customer(
customer_name char(30),
customer_street char(30),
customer_city char(30),
primary key(customer_name)
);insert into customer values
('Adams','Spring','Pittsfield'),
('Brooks','Senator','Brooklyn'),
('Curry','North','Rye'),
('Glenn','Sand Hill','Woodside'),
('Green','Walnut','Stamford'),
('Hayes','Main','Harrison'),
('Johnson','Alma','Palo Alto'),
('Jones','Main','Harrison'),
('Lindsay','Park','Pittsfield'),
('Smith','North','Rye'),
('Turner','Putnam','Stamford'),
('Williams','Nassau','Princeton');create table depositor(
customer_name char(30),
account_number char(10),
FOREIGN KEY (customer_name) REFERENCES customer(customer_name),
FOREIGN KEY (account_number) REFERENCES account(account_number)
);insert into depositor values
('Hayes','A-102'),
('Johnson','A-101'),
('Johnson','A-201'),
('Jones','A-217'),
('Lindsay','A-222'),
('Smith','A-215'),
('Turner','A-305');create table loan(
loan_number char(30),
branch_name char(30),
amount int,
primary key(loan_number),
FOREIGN KEY (branch_name) REFERENCES branch(branch_name)
);insert into loan values
('L-11','Round Hill',900),
('L-14','Downtown',1500),
('L-15','Perryridge',1500),
('L-16','Perryridge',1300),
('L-17','Downtown',1000),
('L-23','Redwood',2000),
('L-93','Mianus',500);create table borrower(
customer_name char(30),
loan_number char(30),
FOREIGN KEY (loan_number) REFERENCES loan(loan_number),
FOREIGN KEY (customer_name) REFERENCES customer(customer_name)
);insert into borrower values
('Adams','L-16'),
('Curry','L-93'),
('Hayes','L-15'),
('Jones','L-17'),
('Smith','L-11'),
('Smith','L-23'),
('Williams','L-17');
insert into customer values
('Jackson',null,null);
insert into borrower values
('Jackson','L-14');
创建银行数据库(database 第5版)相关推荐
- Oracle Database 9i 10g 11g编程艺术 深入数据库体系结构 第2版pdf
下载地址:网盘下载 <Oracle Database 9i/10g/11g编程艺术:深入数据库体系结构>是公认的Oracle数据库权威指南,凝聚了世界顶尖的Oracle专家Thomas K ...
- oracle创建目录的命令,使用create database命令手工创建Oracle数据库
使用create database命令手工创建Oracle数据库 1. 设置环境变量ORACLE_SID export ORACLE_SID=mdb 2. 创建数据库初始化参数 cd $ORACLE_ ...
- 创建MySQL数据库的副本_MySQL创建数据库(CREATE DATABASE语句)
在 MySQL 中,可以使用 CREATE DATABASE 语句创建数据库,语法格式如下: CREATE DATABASE [IF NOT EXISTS] [[DEFAULT] CHARACTER ...
- mysql r创建用户名_MySQL_mysql database manual(mysql数据库手册),2.1登入到mysql控制台[用户名为r - phpStudy...
mysql database manual(mysql数据库手册) 2.1登入到mysql控制台[用户名为root,密码缺省为空] 切换到mysql的bin目录cd d:/wamp/mysql/bin ...
- mysql创建database_MySQL Create Database 创建数据库
创建数据库 CREATE DATABASE 语法用于创建一个数据库. 语法: CREATE DATABASE db_name PHP MySQL 函数库中,mysql_query() 函数用于向 My ...
- oracle简易版创建数据库,oracle创建一个数据库三步走
以前开发的时候用得比较多的是mysql和sql server,oracle用的比较少,用起来比较生疏,mysql和sql server用起来比较类似,就oracle的使用方式和他们不同,oracle在 ...
- node+express项目链接MySQL数据库(最简单版)
node+express项目链接MySQL数据库(最简单版) (假定你node+express项目已创建完成,可参照这里) 第一步.安装mysql驱动 npm install mysql --save ...
- mvc移动创建oracle表,使用 ASP.NET MVC (C#)在15分钟内创建电影数据库应用程序 | Microsoft Docs...
使用 ASP.NET MVC 在 15 分钟内创建电影数据库应用程序 (C#)Create a Movie Database Application in 15 Minutes with ASP.NE ...
- Google Earth Engine(GEE)——ASTER全球水体数据库(ASTWBD)第1版
ASTER全球水体数据库(ASTWBD)第1版 Terra高级星载热发射和反射辐射计(ASTER)全球水体数据库(ASTWBD)第1版数据产品以赤道1角秒(约30米)的空间分辨率提供了大于0.2平方公 ...
最新文章
- float gpu 加速_tensorflow - GPU 加速
- ubuntu 网卡相关
- python bp神经网络 异或_基于python的BP神经网络及异或实现过程解析
- Learning representations by back-propagating errors原文解读
- 【spider】多线程爬虫
- springmvc+swagger2
- 干货|基于深度学习的目标检测算法面试必备(RCNN~YOLOv5)
- [原] Cgroup CPU, Blkio 测试
- android数码管字体,matplotlib绘图时显示额外的“figure”浮窗
- stm8s103头文件
- 利用循环打印正方形和长方形
- Jquery获取所有子元素
- Linux Ubuntu 鼠标变为十字架锁死解决办法
- python read csv dtype_如何使用pandas将csv列作为dtype列表读取?
- 05-3. 六度空间 (30)
- 【linux 防火墙】Linux如何关闭防火墙
- python io.StringIO函数
- Mac电脑结束进程方法大全
- js生成随机数和把日期格式转换成yyyyMMddHHmmss的方法
- svn服务器如何查询文档,windows 查看svn服务器
热门文章
- 深潜:10 步重塑你的个人品牌
- 【android开发】修改主题theme(系统自带样式总结)
- ubuntu -- 常规操作 编译、删除
- php 上传文件 io错误,怎么解决discuz上传头像出现洗“IO错误”方法大全
- 零基础的同学看过来,如何系统学习前端,只要你掌握了,学习web前端的思路就打开了,为以后成为高级前端工程师做一个铺垫
- discuz批量注册马甲
- 【电气专业知识问答】问:监控系统(NCS)的报警功能有哪些?
- 新智元2019 AI独角兽白皮书:58%落户北京,25%创始人出身清华
- 诺基亚5530使用技巧整理
- php框架写博客,用PHP写框架用框架写应用程序