首先,要创建一个完整的数据管理系统,不是一蹴而就的,一定要要一步一步的来,不断完善,最终方能达到自己想要的结果,所以我在这里也是一点一点分步来做的。

  • 创建数据库,数据库属性在这里用的是默认(不推荐使用这种偷懒的做法)

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创建一个银行数据管理系统Ⅰ的更多相关文章

  1. SQL Server 创建和修改数据表

    一.CREATE语句(创建) 1.创建DataBase 1.CONTAINMENT SQL Server 2012 新功能 , 默认值是OFF .(太高级 书上也没有详细介绍). 2.ON ON用于两 ...

  2. Confluence 6 SQL Server 创建一个数据库和数据库用户

    一旦你成功安装了 SQL Server 服务器,请按照下面的方法为你的 Confluence 创建数据库用户和数据库: 使用你的 SQL 管理员权限,创建一个新的数据库(例如 confluence). ...

  3. SQL Server 创建 修改 删除数据表

    1. 图形界面方式操作数据表 (1)创建和修改数据表 列名中如果有两个以上单词时,最好用下划线连接,否则可能会给将来的查询维护带来不便.我们公司美国佬做的数据库就很烦,所有列名都有空格,一旦忘记用方括 ...

  4. 【转载】SQL语句将一个表的数据写入到另一个表中

    在日常的数据库运维过程中,有时候需要将Select查询出来的数据集写入到另一个数据表中,其中一种方式是通过存储过程循环写入数据,另一种简便的方式是直接使用Insert Into语句后面跟上Select ...

  5. 恢复SQL Server被误删除的数据

    恢复SQL Server被误删除的数据 <恢复SQL Server被误删除的数据(再扩展)> 地址:http://www.cnblogs.com/lyhabc/p/4620764.html ...

  6. 转:Sql Server中清空所有数据表中的记录

    如果要删除数据表中所有数据只要遍历一下数据库再删除就可以了,清除所有数据我们可以使用搜索出所有表名,构造为一条SQL语句进行清除了,这里我一一给各位同学介绍.   使用sql删除数据库中所有表是不难的 ...

  7. 恢复SQL Server被误删除的数据(再扩展)

    恢复SQL Server被误删除的数据(再扩展) 大家对本人之前的文章<恢复SQL Server被误删除的数据> 反应非常热烈,但是文章里的存储过程不能实现对备份出来的日志备份里所删数据的 ...

  8. SQL Server中一个隐性的IO性能杀手-Forwarded record

    简介     最近在一个客户那里注意到一个计数器很高(Forwarded Records/Sec),伴随着间歇性的磁盘等待队列的波动.本篇文章分享什么是forwarded record,并从原理上谈一 ...

  9. [转载]在SQL Server 中,如何实现DBF文件和SQL Server表之间的导入或者导出?

    原来使用SQL Server 2000数据库,通过DTS工具很方便地在SQL Server和DBF文件之间进行数据的导入和导出,现在安装了SQL Server2005之后,发现其提供的“SQL Ser ...

随机推荐

  1. windows service(system权限)创建用户权限进程

    windows编程的人都知道,在其操作系统下,进程被创建,通常被赋予很多属性,其中一项属性就是用户名,及进程所属的权限.打开任务管理器,可查看到. 通常桌面系统explorer的权限是User权限,即 ...

  2. 用ladon框架封装Python为Webservice接口以及调用接口的方法

    一.用ladon框架封装Python为Webservice接口 功能实现的同时,希望将接口开放给别人,而封装python接口的一个再简单不过的框架Ladon,而且提供不同的协议,包括SOAP和Json ...

  3. error: failed to connect to the hypervisor error: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory 解决办法

    服务器版本:CentOS Linux release 7.4 Linux lb 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x8 ...

  4. 小玩意1-实时获取IE浏览器输入框URL地址

    主要参考http://www.cnblogs.com/scrat/archive/2012/09/12/2682626.html 主要思路如下: 通过 FindWindow() FindWindowE ...

  5. 【leetcode 简单】 第六十七题 回文链表

    请判断一个链表是否为回文链表. 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 进阶: 你能否用 O(n) 时间复 ...

  6. 59、synchronized同步代码块

    synchronized同步方法的问题 有些情况下,在方法上面加synchronized同步,会有性能问题.请看下面代码,来计算下两个线程执行的耗时: package com.sutaoyu.Thre ...

  7. 34、Collections工具类简介

    Collections工具类简介 就像数组中的Arrays工具类一样,在集合里面也有跟Arrays类似的工具类Collections package com.sutaoyu.Collections; ...

  8. shell脚本-监控及邮件提醒

    首先写一个邮件提醒python文件 #!/usr/bin/python # -*- coding: UTF-8 -*- import sys import smtplib import email.m ...

  9. 【译】第六篇 Replication:合并复制-发布

    本篇文章是SQL Server Replication系列的第六篇,详细内容请参考原文. 合并复制,类似于事务复制,包括一个发布服务器,一个分发服务器和一个或多个订阅服务器.每一个发布服务器上可以定义 ...

  10. 25 个常用的 Linux iptables 规则【转】

    转自 25 个常用的 Linux iptables 规则 - 文章 - 伯乐在线http://blog.jobbole.com/108468/ # 1. 删除所有现有规则 iptables -F # ...