银行ATM系统数据库设计与实现

需积分: 18 13 下载量 27 浏览量 更新于2024-07-12 收藏 2.3MB PPT 举报
第四阶段银行ATM(取款机)系统 在第四阶段中,我们将学习如何使用 SQL 语句创建索引和视图,并应用于银行 ATM(取款机)系统的数据库设计中。本阶段将为期 30 分钟,要求学员自己动手操作,教员巡视,解答学员提出的问题。 数据库设计 ATM 取款机系统数据库设计是本阶段的核心内容。我们将设计一个完整的数据库,包括用户信息表、银行卡信息表和交易信息表。 用户信息表(userInfo) 用户信息表是 ATM 取款机系统的基础表,用于存储用户的基本信息。该表包括以下字段: * customerID:顾客编号,自动编号(标识列),从 1 开始,主键 * customerName:开户名,必填 * PID:身份证号,必填,只能是 18 位或 15 位,身份证号,唯一约束 * telephone:联系电话,必填,格式为 xxxx-xxxxxxxx 或手机号,13 位 * address:居住地址,可选输入 银行卡信息表(cardInfo) 银行卡信息表用于存储银行卡的详细信息。该表包括以下字段: * cardID:卡号,必填,主健,银行的卡号规则和电话号码一样,一般前 8 位代表特殊含义,如某总行某支行等 * curType:货币种类,必填,默认为 RMB * savingType:存款类型,必填,活期/定活两便/定期 * openDate:开户日期,必填,默认为系统当前日期 * openMoney:开户金额,必填,不低于 1 元 * balance:余额,必填,不低于 1 元,否则将销户 * pass:密码,必填,6 位数字,开户时默认为 6 个“8” * IsReportLoss:是否挂失,必填,是/否值,默认为”否” * customerID:顾客编号,外键,必填,表示该卡对应的顾客编号,一位顾客允许办理多张卡号 交易信息表(transInfo) 交易信息表用于存储交易记录。该表包括以下字段: * transDate:交易日期,必填,默认为系统当前日期 * cardID:卡号,必填,外健,可重复索引 * transType:交易类型,必填,只能是存入/支取 * transMoney:交易金额,必填,大于 0 * remark:备注,可选输入,其他说明 ER 图和数据库设计 在设计数据库时,我们需要首先设计 ER 图,以确定实体和关系。然后,我们可以使用 SQL 语句创建数据库和表,添加约束和索引。 以下是创建数据库的 SQL 语句: ```sql CREATE DATABASE bankDB ON ( NAME='bankDB', FILENAME='D:\bank\bankDB.mdf', SIZE=10MB, FILEGROWTH=15% ) LOG ON ( NAME='bankDB_log', FILENAME='D:\bank\bankDB_log.ldf', SIZE=5MB, FILEGROWTH=15% ) ``` 在设计数据库时,我们需要考虑数据的完整性、唯一性和参照完整性等约束。同时,我们还需要考虑索引的创建,以提高查询效率。 通过本阶段的学习,我们将掌握数据库设计的基本原则和技术,能够独立设计和实现一个完整的数据库系统。