机房重构——数据库

机房重构——数据库机房重构——数据库

大家好,又见面了,我是你们的朋友全栈君。

     耿建玲视频看完后,就陆续开始敲学生,敲机房,虽说是学过数据库了,但是只是大体了解,具体应用还是不熟悉,于是用的都是给的数据库,在敲机房的过程中,用了很多SQL语句,自考也学了数据库,更深入的学习了数据库的知识,所以,第二次敲机房,再不亲自创建一个数据库都说不过去了,那具体的过程是怎样的呢?

1.找出实体及实体之间的联系,画ER图。

机房重构——数据库

实体不是唯一的,他们之间的关系也只是个人理解,只要能说服自己,合理即可。

2.根据ER图导出关系模式。

<span style="font-family:KaiTi_GB2312;font-size:18px;">student(studentNo,studentName,sex,department,grade,class,explain)
card(cardNo,cash,studentNo,userID,status,Ischeck,date,time,type)
manager(userID,PWD,userName,level,Head)
Recharge(serial,cardNo,addMoney,date,time,userID,status)
CancelCard(cardNo,cancelCash,date,time,userID,status)
BasicData(Rate,tmpRate,unitTime,leastTime,prepareTime,limitCash,head,date,time)
WorkLog(serial,userID,level,loginDate,loginTime,logoutDate,logoutTime,computer)
OnlineLog(serial,cardNo,studentNo,onDate,onTime,offDate,offTime,consumeTime,consume,cash,status,computer)
CheckOut(RemainCash,RechargeCash,ConsumeCash,CancelCash,AllCash,date,time)</span>



3.根据ER图和关系模式在SQL Server中用SQL语句创建数据库。

<span style="font-family:KaiTi_GB2312;font-size:18px;">use master           '设置当前数据库为master,以便访问sysdatabases表,因为master数据库中的sysdatabases存放了所有数据库清单
go                   '判断当前数据库系统中是否存在自己要新建的数据库,如果是就要删除
if exists(select * from sysdatabases where name=’myCharge’)
drop database myCharge
go

create database mySQL
on primary
(
	name='myCharge_data',                   '数据库的逻辑名称
	filename='D:\myCharge_data.mdf',        '物理文件名
	size=5mb,                               '初始大小                 
        maxsize=100mb,                          '最大值
        filegrowth=15%                          '文件的增长速度
)
log on
(
	name='myCharge_log',                    '数据库的逻辑名称
 	filename='D:\myCharge_log.ldf',         '物理文件名
	size=2mb,                               '初始大小
	maxsize=10mb                            '文件的增长速度
)</span>


4.通过SQL语句新建表。

以创建manager表为例

<span style="font-family:KaiTi_GB2312;font-size:18px;">use myCharge 
go 
if exists (select * from sysobjects where name ='manager')
drop table manager 
create table manager                         '创建manager表      
(
    userID int primary key,                  '添加userID字段,并设为主键
    PWD char(10) not null,
    userName char(10) not null,
    level char(10) not null,
    head  char(10) not null,
)</span>

    这样基本的数据库就算建好了,但是在使用的过程中,一定还有需要修改的地方,还有关于存储过程和触发器的东西,等具体用到了再来补充。

   

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/105769.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java的Volatile关键字的作用

    Java的Volatile关键字的作用VolatileVolatile概念是Java特有的。如果你理解它解决的问题,会更容易理解它。如果一个变量,例如一个计数器正在被一个线程使用,有可能计数器的一个副本放在CPU高速缓存里,并且每次修改时,仅修改高速缓存的内容,而不是写到主存。JVM会决定什么时候更新主存。甚至当其他线程从主存里读取计数器的值时,有可能读到过期的值。如果一个变量用volatile修饰,不论一个线程读还是写此变量,总是从主存里读写。作为进一步的保证,当一个写线程写一个volatile修饰的变量时,写线程能看到的所有变

    2022年5月16日
    30
  • glassfish是什么_cleairaquatics鱼缸说明书

    glassfish是什么_cleairaquatics鱼缸说明书一、glassfish简介glassfish是一款web应用服务器,和tomcat一样,也是一款优秀的Servlet容器。二、glassfish知识点1、domain域domain是glassfish中,拥有独立端口的存放web应用的容器。glassfish可以创建多个domain,每个domain存放于glassfish/domains目录中。每个domain是可以部署多…

    2022年8月20日
    8
  • 配置是如何进行的 configure

    配置是如何进行的 configure

    2021年7月30日
    61
  • LeetCode–046–全排列(java)

    LeetCode–046–全排列(java)给定一个没有重复数字的序列,返回其所有可能的全排列。示例:无奈,用swap的方法从左向右滑动,直到最后结果和最初的一致停止,只适用于三位数。。。。(改进一下让每个数字作为第一位后面的进行滑动,应该

    2022年7月3日
    22
  • hostapd.conf配置文档「建议收藏」

    hostapd.conf配置文档「建议收藏」#####hostapdconfigurationfile###############################################Emptylinesandlinesstartingwith#areignored#APnetdevicename(without’ap’postfix,i.e.,wlan0useswl

    2022年5月21日
    39
  • 软件安全之动态链接库的使用 Libzplay 播放音乐「建议收藏」

    实验1动态链接库的使用实验说明Libzplay是遵循GPL协议的开源库,它集成了mp3、flac、ac3、aac、wav等多种音频格式的解码器和编码器,提供了面向C/C++、C#、Delphi等多种编程语言的接口,仅需3行代码(创建播放资源,打开文件,开始播放)便可实现音乐播放功能。实验目的本实验通过Libzplay提供的C语言接口,实现简单的音乐播放器,以此学习DLL的隐式和显式加载方式。实验原理课程第2讲基础知识实验环境Windows

    2022年4月17日
    68

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号