(转载)使用SQL-Server创建一个银行数据管理系统Ⅰ
首先,要创建一个完整的数据管理系统,不是一蹴而就的,一定要要一步一步的来,不断完善,最终方能达到自己想要的结果,所以我在这里也是一点一点分步来做的。
创建数据库,数据库属性在这里用的是默认(不推荐使用这种偷懒的做法)
- 1 --创建数据库,使用默认配置
- 2 create database 某银行客户管理系统
- 3 go
创建表,共四个,分别是:客户信息,银行卡信息,业务类型,交易记录

- 1 use 某银行客户管理系统
- 2
- 3
- 4 --创建业务类型表,包含业务编号,业务名称和业务描述
- 5 create table 业务类型
- 6 (
- 7 业务编号 int identity(1,1) primary key,
- 8
- 9 业务名称 varchar(50) not null unique,
- 10
- 11 业务描述 varchar(100)
- 12 )
- 13
- 14
- 15 --创建客户信息表,包含客户编号,姓名,居住地,手机号码和身份证号码
- 16 CREATE TABLE 客户信息
- 17 (
- 18 客户编号 INT IDENTITY(101,1) PRIMARY KEY,
- 19
- 20 姓名 VARCHAR(25) NOT NULL,
- 21
- 22 居住地 VARCHAR(50),
- 23
- 24 手机号码 CHAR(11) UNIQUE NOT NULL
- 25 check(手机号码 like '1[358][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),
- 26
- 27 身份证号码 CHAR(18) UNIQUE NOT NULL
- 28 check(left(身份证号码,17)
- 29 like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
- 30 and (right(身份证号码,1) like '[0-9]' or right(身份证号码,1) like 'X')
- 31 )
- 32
- 33
- 34 --创建银行卡信息表
- 35 CREATE TABLE 银行卡信息
- 36 (
- 37 卡号 CHAR(19) PRIMARY KEY CHECK(卡号 LIKE '6223 2017 [0-9][0-9][0-9][0-9] [0-9][0-9][0-9][0-9]'),
- 38
- 39 密码 BIGINT CHECK(密码>99999 AND 密码<=999999)
- 40 DEFAULT 111111
- 41 NOT NULL,
- 42
- 43 存款类型 int not null,
- 44
- 45 余额 MONEY CHECK(余额>=10) NOT NULL,
- 46
- 47 持卡客户 INT not null,
- 48
- 49 注册日期 DATETIME NOT NULL default(getdate()),
- 50
- 51 是否挂失 char(2) default('否') check(是否挂失='是' or 是否挂失='否')
- 52 )
- 53
- 54
- 55 --创建交易记录表
- 56 create table 交易记录
- 57 (
- 58 记录编号 int identity(1,1) primary key,
- 59
- 60 卡号 char(19) not null,
- 61
- 62 交易日期 datetime not null,
- 63
- 64 交易金额 money not null,
- 65
- 66 交易类型 char(4) not null check(交易类型='收入' or 交易类型='支出'),
- 67
- 68 交易备注 varchar(50)
- 69 )

建立外键

- 1 --建立外键
- 2 alter table 银行卡信息
- 3 add foreign key(存款类型) references 业务类型(业务编号)
- 4
- 5 alter table 银行卡信息
- 6 add foreign key(持卡客户) references 客户信息(客户编号)
- 7
- 8 alter table 交易记录
- 9 add foreign key(卡号) references 银行卡信息(卡号)

到了这里,创建银行数据库系统的第一步就算是完成了,接下来要建立一些触发器和存储过程,以及插入一些测试数据,详情请关注本人的下一篇博客,谢谢。
(转载)使用SQL-Server创建一个银行数据管理系统Ⅰ的更多相关文章
- SQL Server 创建和修改数据表
一.CREATE语句(创建) 1.创建DataBase 1.CONTAINMENT SQL Server 2012 新功能 , 默认值是OFF .(太高级 书上也没有详细介绍). 2.ON ON用于两 ...
- Confluence 6 SQL Server 创建一个数据库和数据库用户
一旦你成功安装了 SQL Server 服务器,请按照下面的方法为你的 Confluence 创建数据库用户和数据库: 使用你的 SQL 管理员权限,创建一个新的数据库(例如 confluence). ...
- SQL Server 创建 修改 删除数据表
1. 图形界面方式操作数据表 (1)创建和修改数据表 列名中如果有两个以上单词时,最好用下划线连接,否则可能会给将来的查询维护带来不便.我们公司美国佬做的数据库就很烦,所有列名都有空格,一旦忘记用方括 ...
- 【转载】SQL语句将一个表的数据写入到另一个表中
在日常的数据库运维过程中,有时候需要将Select查询出来的数据集写入到另一个数据表中,其中一种方式是通过存储过程循环写入数据,另一种简便的方式是直接使用Insert Into语句后面跟上Select ...
- 恢复SQL Server被误删除的数据
恢复SQL Server被误删除的数据 <恢复SQL Server被误删除的数据(再扩展)> 地址:http://www.cnblogs.com/lyhabc/p/4620764.html ...
- 转:Sql Server中清空所有数据表中的记录
如果要删除数据表中所有数据只要遍历一下数据库再删除就可以了,清除所有数据我们可以使用搜索出所有表名,构造为一条SQL语句进行清除了,这里我一一给各位同学介绍. 使用sql删除数据库中所有表是不难的 ...
- 恢复SQL Server被误删除的数据(再扩展)
恢复SQL Server被误删除的数据(再扩展) 大家对本人之前的文章<恢复SQL Server被误删除的数据> 反应非常热烈,但是文章里的存储过程不能实现对备份出来的日志备份里所删数据的 ...
- SQL Server中一个隐性的IO性能杀手-Forwarded record
简介 最近在一个客户那里注意到一个计数器很高(Forwarded Records/Sec),伴随着间歇性的磁盘等待队列的波动.本篇文章分享什么是forwarded record,并从原理上谈一 ...
- [转载]在SQL Server 中,如何实现DBF文件和SQL Server表之间的导入或者导出?
原来使用SQL Server 2000数据库,通过DTS工具很方便地在SQL Server和DBF文件之间进行数据的导入和导出,现在安装了SQL Server2005之后,发现其提供的“SQL Ser ...
随机推荐
- 主角场景Shader效果:光影
基本思路:unity有一种很容易实现光影效果的神器,那就是unity自带的projector. 首先需要用到两张贴图: 一张投影需要的光圈贴图,如下: 一张根据远近距离显示暗淡的贴图(左至右,白渐变黑 ...
- JavaScript中的apply()和call()
可以将call()和apply()看做是某个对象的方法,通过调用方法的形式来间接调用函数. call()和apply()的第一个实参是要调用函数的母对象,它是调用上下文,在函数体内通过this来获得对 ...
- Linux设备驱动之Ioctl控制
大部分驱动除了需要具备读写设备的能力之外,还需要具备对硬件控制的能力. 一.在用户空间,使用ioctl系统调用来控制设备,原型如下: int ioctl(int fd,unsigned long cm ...
- Django 2.0.1 官方文档翻译: 快速安装向导 (Page5)
快速安装向导 (Page 5) 在你使用 Django 前,你需要先安装它.我们有一个完整的安装向导,它包含所有涉及的内容,这个向导会指导你进行一个简单的.最小化的安装,当你通过浏览介绍内容的时候,这 ...
- sublime text3 最常用的快捷键及插件
A:最常用的快捷键 Tab:自动补齐代码 <!--div+Tab 其它标签一样--><div></div> emmet常用的使用方法 <!--ul>li ...
- java反射三种获得类类型的方法
public class Test { public static void main(String[] args) { Test t=new Test();//所有的类都是Class类的实例(类类型 ...
- Informatica学习:2、配置存储库服务和集成服务
继续上一篇的1.安装介质的获取与安装,本文介绍服务端的存储库服务和集成服务的配置. 安装好Informatica的客户端和服务端后,需要登陆Administration Console,配置存储库服务 ...
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛:Frequent Subsets Problem (状态压缩)
题目链接 题目翻译: 给出一个数n,和一个浮点数a,数n代表全集U = {1,2,...,n},然后给出 M个U的子集,如果一个集合B(是U的子集),M个集合中有至少M*a个集合包含B, 则B这个集合 ...
- python读写mysql
读取mysql数据 # -*- coding: utf-8 -*- # 导入必要模块 import pandas as pd from sqlalchemy import create_engine ...
- sklearn进行拟合
# codind:utf-8 from sklearn.linear_model import SGDRegressor,LinearRegression,Ridge from sklearn.pre ...