
1、标准的数据库查询语言是:SQL,一楼说的。但是,每个数据库管理系统(DBMS)都有自己的一套SQL语法,大致和标准的SQL语言相同,但都有自己的特色。
2、大型数据库管理系统有:ORACLE、SYBASE、DB2、INFORMIX等。
中小型数据库管理系统有:SQLSERVER、MYSQL、ACCESS、FOXPRO等。
3、专用于开发数据库软件的工具有:Oracle Designer、SYBASE POWERBUILDER、DELPHI等。
4、常用的开发语言(也可用语开发数据库软件)有:VB/VC/C/JAVA/C#/PHP等。
你如果要从事软件开发,一本书恐怕不够,建议你根据我上面列出的内容,选择一个大型数据库管理系统、一个主流开发工具去学习 ,具体看你想从事哪方面开发再选择哪种开发工具。
一、备份数据库
1、打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server
2、SQL Server组-->双击打开你的服务器-->双击打开数据库目录
3、选择你的数据库名称(如论坛数据库Forum)-->然后点上面菜单中的工具-->选择备份数据库
4、备份选项选择完全备份,目的中的备份到如果原来有路径和名称则选中名称点删除,然后点添加,如果原来没有路径和名称则直接选择添加,接着指定路径和文件名,指定后点确定返回备份窗口,接着点确定进行备份
二、还原数据库
1、打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server
2、SQL Server组-->双击打开你的服务器-->点图标栏的新建数据库图标,新建数据库的名字自行取
3、点击新建好的数据库名称-->然后点上面菜单中的工具-->选择恢复数据库
4、在d出来的窗口中的还原选项中选择从设备-->点选择设备-->点添加-->然后选择你的备份文件名-->添加后点确定返回,这时候设备栏应该出现您刚才选择的数据库备份文件名,备份号默认为1(如果您对同一个文件做过多次备份,可以点击备份号旁边的查看内容,在复选框中选择最新的一次备份后点确定)-->然后点击上方常规旁边的选项按钮
5、在出现的窗口中选择在现有数据库上强制还原,以及在恢复完成状态中选择使数据库可以继续运行但无法还原其它事务日志的选项。在窗口的中间部位的将数据库文件还原为这里要按照你SQL的安装进行设置(也可以指定自己的目录),逻辑文件名不需要改动,移至物理文件名要根据你所恢复的机器情况做改动,如您的SQL数据库装在D:\Program Files\Microsoft SQL Server\MSSQL\Data,那么就按照您恢复机器的目录进行相关改动改动,并且最后的文件名最好改成您当前的数据库名(如原来是zw0001mdf,现在的数据库是zw0002,就改成zw0002mdf),日志和数据文件都要按照这样的方式做相关的改动(日志的文件名是ldf结尾的),这里的恢复目录您可以自由设置,前提是该目录必须存在(如您可以指定d:\sqldata\zw0002mdf或者d:\sqldata\zw0002ldf),否则恢复将报错
6、修改完成后,点击下面的确定进行恢复,这时会出现一个进度条,提示恢复的进度,恢复完成后系统会自动提示成功,如中间提示报错,请记录下相关的错误内容并询问对SQL *** 作比较熟悉的人员,一般的错误无非是目录错误或者文件名重复或者文件名错误或者空间不够或者数据库正在使用中的错误,数据库正在使用的错误您可以尝试关闭所有关于SQL窗口然后重新打开进行恢复 *** 作,如果还提示正在使用的错误可以将SQL服务停止然后重起看看,至于上述其它的错误一般都能按照错误内容做相应改动后即可恢复
常用的数据库字段类型如下:
字段类型 中文说明 限制条件 其它说明
CHAR 固定长度字符串 最大长度2000 bytes
VARCHAR2 可变长度的字符串 最大长度4000 bytes 可做索引的最大长度749
NCHAR 根据字符集而定的固定长度字符串 最大长度2000 bytes
NVARCHAR2 根据字符集而定的可变长度字符串 最大长度4000 bytes
DATE 日期(日-月-年) DD-MM-YY(HH-MI-SS) 经过严格测试,无千虫问题
LONG 超长字符串 最大长度2G(231-1) 足够存储大部头著作
RAW 固定长度的二进制数据 最大长度2000 bytes 可存放多媒体图象声音等
LONG RAW 可变长度的二进制数据 最大长度2G 同上
BLOB 二进制数据 最大长度4G
CLOB 字符数据 最大长度4G
NCLOB 根据字符集而定的字符数据 最大长度4G
BFILE 存放在数据库外的二进制数据 最大长度4G
ROWID 数据表中记录的唯一行号 10 bytes 格式,为0或1
NROWID 二进制数据表中记录的唯一行号 最大长度4000 bytes
NUMBER(P,S) 数字类型 P为整数位,S为小数位
DECIMAL(P,S) 数字类型 P为整数位,S为小数位
INTEGER 整数类型 小的整数
FLOAT 浮点数类型 NUMBER(38),双精度
REAL 实数类型 NUMBER(63),精度更高
数据类型 参数 描述
char(n) n=1 to 2000字节 定长字符串,n字节长,如果不指定长度,缺省为1个字节长(一个汉字为2字节)
varchar2(n) n=1 to 4000字节 可变长的字符串,具体定义时指明最大长度n,这种数据类型可以放数字、字母以及ASCII码字符集(或者EBCDIC等数据库系统接受的字符集标准)中的所有符号。
如果数据长度没有达到最大值n,Oracle 8i会根据数据大小自动调节字段长度,如果你的数据前后有空格,Oracle 8i会自动将其删去。VARCHAR2是最常用的数据类型。可做索引的最大长度3209。
number(m,n) m=1 to 38
n=-84 to 127 可变长的数值列,允许0、正值及负值,m是所有有效数字的位数,n是小数点以后的位数。
如:number(5,2),则这个字段的最大值是99,999,如果数值超出了位数限制就会被截取多余的位数。
如:number(5,2),但在一行数据中的这个字段输入575316,则真正保存到字段中的数值是57532。
如:number(3,0),输入575316,真正保存的数据是575。
date 无 从公元前4712年1月1日到公元4712年12月31日的所有合法日期,Oracle 8i其实在内部是按7个字节来保存日期数据,在定义中还包括小时、分、秒。
缺省格式为DD-MON-YY,如07-11月-00 表示2000年11月7日。
long 无 可变长字符列,最大长度限制是2GB,用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。long是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。
raw(n) n=1 to 2000 可变长二进制数据,在具体定义字段的时候必须指明最大长度n,Oracle 8i用这种格式来保存较小的图形文件或带格式的文本文件,如Miceosoft Word文档。
raw是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。
long raw 无 可变长二进制数据,最大长度是2GB。Oracle 8i用这种格式来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件。
在同一张表中不能同时有long类型和long raw类型,long raw也是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。
blob /clob /nclob 无 三种大型对象(LOB),用来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件,最大长度是4GB。
LOB有几种类型,取决于你使用的字节的类型,Oracle 8i实实在在地将这些数据存储在数据库内部保存。
可以执行读取、存储、写入等特殊 *** 作。
bfile 无 在数据库外部保存的大型二进制对象文件,最大长度是4GB。
这种外部的LOB类型,通过数据库记录变化情况,但是数据的具体保存是在数据库外部进行的。
Oracle 8i可以读取、查询BFILE,但是不能写入。
大小由 *** 作系统决定。
关于事务日志nbsp;nbsp;nbsp;在使用sqlnbsp;server时,经常会出现系统提示事务日志nbsp;已满的错误信息(错误1105),以使的应用系统的数据库nbsp;无法打开,影响到系统的正常运行。通常有三种方法可以nbsp;解决这一问题:nbsp;nbsp;nbsp;●扩展数据库空间nbsp;nbsp;nbsp;可以通过扩展数据库大小来增大事务日志的空间。先nbsp;利用alternbsp;database增大数据库空间,再通过sp—logdevnbsp;ice系统存储过程把事务日志转移到事务日志数据库设备nbsp;上去,具体语法如下:nbsp;nbsp;nbsp;语法:nbsp;nbsp;nbsp;·alternbsp;databasenbsp;database—namenbsp;onnbsp;database—dnbsp;evice’增大数据库空间nbsp;nbsp;nbsp;·sp—logdevicenbsp;dbname,database_device’转移nbsp;事务日志nbsp;nbsp;nbsp;例:alterdatabasemydbonmydb—log—dev=8nbsp;nbsp;nbsp;sp—logdevicemydbmydb—log—devnbsp;nbsp;nbsp;如果数据库对数据库设备变得过大(通常在决定数据nbsp;库大小时,先指定一个保守的值,如果以后需要增大空间nbsp;,用alternbsp;database增加其大小),需先扩展数据库设备nbsp;,再增大事务日志的空间,具体语法如下:nbsp;nbsp;nbsp;语法:nbsp;nbsp;nbsp;·disknbsp;resizenbsp;name=logical—device_name,size=nbsp;final—size’扩展数据库设备nbsp;nbsp;nbsp;·alternbsp;databasenbsp;database—namenbsp;onnbsp;database—dnbsp;evice’增大数据库空间nbsp;nbsp;nbsp;·sp_logdevicedbname,database_device’转移事nbsp;务日志nbsp;nbsp;nbsp;例:disknbsp;resizenbsp;name=mydbnbsp;onnbsp;mydb—log—dev=8nbsp;nbsp;nbsp;alternbsp;databasenbsp;mydbnbsp;onnbsp;mydb—log—dev=8nbsp;nbsp;nbsp;sp—logdevicenbsp;mydbnbsp;mydb—log—devnbsp;nbsp;nbsp;(以上工作也可以通过对microsoftnbsp;sqlnbsp;enterprisenbsp;manger提供的gui界面直接 *** 作来完成。)nbsp;nbsp;nbsp;●定期执行dumpnbsp;database语句来完成截短nbsp;事务日志。其语法为:nbsp;nbsp;nbsp;语法:nbsp;nbsp;nbsp;·dumpnbsp;databasenbsp;dbnamenbsp;tonbsp;dump_devicenbsp;nbsp;nbsp;例:dumpnbsp;databasnbsp;emydbnbsp;tonbsp;mydump—dev(通过将nbsp;数据库mydb备份到备份设备mydump—dev上完成截短事务日nbsp;志。)nbsp;nbsp;nbsp;●trunc.logonchkpt.选项来完成截短事nbsp;务日志nbsp;nbsp;nbsp;缺省时,在新建的数据库上,trunc.logonchkpt.nbsp;选项设置成off(缺省值),事务日志永远不作备份,事务nbsp;日志不停地增长,可能会耗尽数据库的存储空间,将trunnbsp;c.logonchkpt.选项设置成on,每次checkpoint进程发nbsp;生时(通常每分钟一次)都截短事务日志(删除已提交的nbsp;事务),使得事务日志不会不停地增长以耗尽数据库的存nbsp;储空间。nbsp;nbsp;nbsp;配置选项和值nbsp;nbsp;nbsp;在使用sqlnbsp;server时,同样会经常出现系统提示usernbsp;connections(用户连接)已达到配置数,系统无法正常nbsp;运行的问题。sqlnbsp;server用户连接最大值是32767,而缺nbsp;省时的一般配置数为15个。如果使用中的用户连接已达到nbsp;配置数,而又来了一个用户连接请求,sqlserver将回送一nbsp;个错误消息。这时可以通过修改sqlnbsp;server的配置选项中nbsp;的usernbsp;connections项的最大值来解决这一问题。配置选nbsp;项的显示和管理可通过sp—configure系统过程来完成,nbsp;但不能使用sp—configure来设定一个比当前配置选项最大nbsp;值还大的配置选项。nbsp;nbsp;nbsp;语法:sp—configure〔‘config—name’〔,confinbsp;g—value〕〕nbsp;nbsp;nbsp;其中config—name为配置选项的项名,config—valunbsp;e为设置值。nbsp;nbsp;nbsp;例:sp—configure‘user_connections’,30nbsp;nbsp;nbsp;同时用户可以使用sp—configure来显示配置选项,nbsp;通过重新设置一些配
“表中任意两列的值不能相同” 这句是错的,
一个表中的主键可以是一个或多个字段 这句是对的
公共属性
参照完整性
关键字完整性约束
独立于硬件设备和DBMS
概念数据模型
概念模型
物理结构独立性
BCNF
1)update 销售表 set 销售表销售单价=
(select 产品表销售单价 from 产品表 where 销售表ProductID=销售单价ProductID)
where 销售表客户名='m'
2)select p人员姓名,nvl(d部门名称,"未标志")
from tbPersonnel p,tbDept d
where p部门ID = d 部门ID (+)
用左外连接选出记录,如有空的用nvl函数去除为NULL的记录,这个(+)是ORACLE下的SQL写法,你也可以用普通的 left outer jion on
1要注意:三大范式
你搞数据库的应该知道
我不累赘了
2,先要明白
你要实现什么功能
先想出主要的几张表
然后给慢慢细化
3在2的基础上
已经想好
该有的表了
理清他们之间的关系
4要从客户的角度考虑
尽量提高客户体验
以上就是关于数据库的几个基本问题全部的内容,包括:数据库的几个基本问题、如何用SQL备份或还原数据库并且会出现的常见问题以及解决方案、请教几个关于oracle数据库里常见数据类型的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)