本文共 2658 字,大约阅读时间需要 8 分钟。
自己建数据库之前的心情是复杂中夹杂着一点躁乱,因为打算这一次的数据库要自己建一下,对于之后的未知数说实话心里有惴惴不安,事实也是如此,这次数据库的创建真的是一波好几折啊,不过我更加坚信的一件事是:兵来将挡,水来土掩。自己要多一份自信。 先来说说这次建数据库的整过过程,自从了解到EA可以用来建立数据库之后,着手研究了EA工具的ER图部分,之后生成数据库文件中发现建立的表访问不了;于是我想肯定是想让我多学习点东西,所以就去学习一些基本的T-SQL语言,惊奇的是之前数据库不能的访问的问题解决了。请听小编慢慢道来~
我们建数据库首先要画的是ER图,通过ER模型,清楚实体之间的联系(这是手动建表和生成表都要做的工作)。今天说一下强大的EA工具,可以生成多种类型的代码,帮助数据库的创建,同时还可以生成文档,传说EA已经强大到整个软件开发过程中都可以参与,值得我们深入的学习。 下面是给大家介绍如何在EA工具中建立ER图(我使用的是12版,不过都是大同小异)。
新建项目–弹出模型向导–选中Database–Entity Relationship Diagram–确定
进入如下界面: 右边紫色框里是常用工具,我自己画了一个实体学生和其两个属性学号和姓名。
转换模型 当你的ER图画完之后,全选你要生成的模型,右键–转换,进入如下界面:
模型生成并设置
你发现在项目浏览中多了一个modeling:
双击之后,看到这样的表(属性已经生成):
右击这个表选择特性–通用进行相关设置,这里我们可以选择数据库,设置主键和外键,如下图:
设计好表后我们可以生成DLL语言:全选–右键–源码工程–生成DLL;如下图,设置好后点击运行
生成了sql一个的文档,我们在SQL Server中运行就可以生成自己的表了。这样数据库很方便就创建出来了~
关于创建数据库本该到这里就结束的,我以为就这样结束了,不过事情好像不是这个样子的呢~在搭建三层的时候访问我的数据库中一直提示数据库的访问错误,我看了看之前生成的脚本,发现和我们自考学习的数据库T-SQL语言很像,我想我应该用sql 语言来建一下数据库吧。
之前使用SSMS(SQL Server Management Studio)创建的,操作很简单,这次突破一下,用sql语言来建。
例如我们创建一个名为yy的数据库,主数据文件为10mb,最大大小不受限制,每次增长10%,事务日志文件大小为1MB,最大大小不受限制,文件每次增长10%
/* 建立数据库 名为 YY */create database yy/* 建立主文件*/on primary (name = 'yy',filename = 'E:\计算机\机房重构\数据库\yy.mdf', /*建立主数据文件的位置*/size = 10mb, maxsize = unlimited, filegrowth =10% )/*建立数据日志文件*/log on (name = 'yy_log',filename = 'E:\计算机\机房重构\数据库\yy_log.ldf',size = 10mb, maxsize = unlimited, filegrowth =10% )go
效果展示:
如果要删除数据库的话:
drop database /*数据库名*/
在查询编辑器中创建表的格式如下: create table [<库名.>]<表名> (<列名><列属性>[列级完整性约束条件] [,<列名><列属性>[列级完整性约束条件]] [,…n] [,<表级完整性约束条件>] [,…n])
这里什么是约束条件呢?
- PRIMARY KEY [(列名)]:指定主键 - UNIQUE KEY [(列名)]:指定列值取唯一 - FOREIGEN KEY [(外键列)]
下面是我创建了一个表user
CREATE TABLE User_info( [UserID] varchar(50) NOT NULL, [UserName] varchar(50), [PassWord] varchar(50), [Level] varchar(50), [Head] varchar(50), CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED ([UserID]))go
这是效果展示:
alter table <表名> [add <新列名> <数据类型> [完整性约束]] [drop <完整性约束名> ] [alter column <列名> <数据类型> ] 数据类型> 列名> 完整性约束名> 数据类型> 新列名> 表名>
use 数据库名goalter table 表名alter column <新列名> <数据类型> go 数据类型> 新列名>
use 数据库名goalter table 表名drop column <列名> go 列名>
insert [into] 表名 [(列名1,列名2,列名3,...)]ualues (表达式1,表达式2,...) '这里的表达式要和列名对应
update 表名set 列名 = [表达式][where <条件> ] 条件>
delete [from] 表名[where <表达式> ] 表达式>
drop table [数据库]. <表名>表名>
这样我自己的表就建好了,不过对于数据库还是没有完,如何使数据保持一致性是自己之后要完成的工作。
现在有了对数据库语言的一些基础,自己再去看脚本,看看这个文档是哪里出现了问题。这是我的文档中的一部分:
我注意到创建表的时候,表名用[ ]括起来了,我查了一下,这个中括号的意思是使得括号中的内容不作为关键字存在,为了避免与关键词冲突,加中括号,不过一般可以不加。很神奇的是当我去掉中括号后,我的这个表就可以访问了。具体的原因,我现在也不太清楚,希望路过的不吝指教,我也要多多学习。
学着学着,发现数据库的内容自己要学的还有很多,自己要加油,就会收获的。经过这一次,真切的体会到问题解决之后的快感,无以言白。很棒,自己也敢于接受更大的挑战!