机房重构——数据库

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

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

     耿建玲视频看完后,就陆续开始敲学生,敲机房,虽说是学过数据库了,但是只是大体了解,具体应用还是不熟悉,于是用的都是给的数据库,在敲机房的过程中,用了很多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)
上一篇 2022年4月24日 下午9:40
下一篇 2022年4月24日 下午9:40


相关推荐

  • typescript 接口_接口是什么

    typescript 接口_接口是什么介绍TypeScript的核心原则之一是对值所具有的结构进行类型检查。我们使用接口(Interfaces)来定义对象的类型。接口是对象的状态(属性)和行为(方法)的抽象(描述)接口初探声明接口

    2022年7月29日
    15
  • PrepareStatement概述

    PrepareStatement概述PrepareStatement概述Statement安全问题Statement执行,其实是拼接sql语句的。先拼接sql语句,然后在一起执行。 Stringsql=”select*fromt_userwhereusername='”+username+”‘andpassword='”+password+”‘”; UserDaodao=ne…

    2022年6月11日
    45
  • linux下卸载docker

    linux下卸载docker卸载 1 查询安装过的包 yumlistinsta grepdockerdo engine x86 64 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 17 03 0 ce 1 el7 centos nbsp nbsp nbsp nbsp dockerrepo2 删除安装的软件包 yum yremovedocke engine x86 643 删除镜像 容器等 rm rf v

    2026年3月26日
    1
  • python endif_在Django模板中的 if else endif

    python endif_在Django模板中的 if else endifif/else{%if%}标签检查(evaluate)一个变量,如果这个变量为真(即,变量存在,非空,不是布尔值假),系统会显示在{%if%}和{%endif%}之间的任何内容,例如:{%iftoday_is_weekend%}Welcometotheweekend!{%endif%}{%else%}标签是可选的:{%iftoday_is_weeke…

    2025年7月17日
    8
  • java递归和迭代_Java中的迭代与递归

    java递归和迭代_Java中的迭代与递归递归提到迭代,不得不提一个数学表达式:n!=n*(n-1)*(n-2)*…*1有很多方法来计算阶乘。有肯定数学基础的人都知道n!=n*(n-1)!因而,代码的实现可以直接写成:代码一intfactorial(intn){if(n==1){return1;}else{returnn*factorial(n-1);}}在执行以上代码的时候,其实机器是要执行一系列乘法的:…

    2022年7月13日
    19
  • scanf的常见用法

    scanf的常见用法

    2021年9月27日
    80

发表回复

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

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