你那样理解貌似说得过去。。。但深究一下就。。。
数据库通常情况下有2个文件即
主文件*.mdf 日志文件(次文件)*.ldf (当数据库分离的时候可以看见,创建的时候也可以看见)
次文件你可以理解成日志,或多个日志,对与数据库来说,日志可以不要的。
为了方便管理和数据分配,可以把多个数据库文件组织在一起,称为数据库文件组
例如,你的电脑上有3个盘符 C,D,E A_C.mdf A_D.mdf和A_E.mdf),并将这三个文件指派到文件组fgroup中。然后,可以明确地在文件组fgroup上创建一个表。对表中数据的查询将分散到三个磁盘上,因而性能得以提高,但这样做对于数据的备份,还原,转移,分离等,有一定的难度!
就这么多希望对LZ有帮助!
⑵ 如何设置数据库文件组
SQL文件组就是文件的逻辑集合。它的目的是为了方便数据的管理和分配.文件组可以把指定是文件组合在一起。 在首次创建数据库,或者以后将更多文件添加到数据库时,可以创建文件组。但是,一旦将文件添加到数据库,就不可能再将这些文件移到其它文件组。 一个文件不能是多个文件组的成员。表格、索引以及text、ntext和image数据可以与特定的文件组相关联。这意味着它们的所有页都将从该文件组的文件中分配。 有三种类型的文件组: 主文件组 这些文件组包含主数据文件以及任何其它没有放入其它文件组的文件。系统表的所有页都从主文件组分配。 用户定义文件组 该文件组是用CREATEDATABASE或ALTERDATABASE语句中的FILEGROUP关键字,或在SQLServer企业管理器内的"属性"对话框上指定的任何文件组。 默认文件组 默认文件组包含在创建时没有指定文件组的所有表和索引的页。在每个数据库中,每次只能有一个文件组是默认文件组。如果没有指定默认文件组,则默认文件组是主文件组。 最多可以为每个数据库创建256个文件组。文件组只能包含数据文件。事务日志文件不能是文件组的一部分。
⑶ SQL语言创建表时候怎么定义主码和外码
SQL语言创建表时候用Primary Key(属性名)定义主码,用Foreign Key(属性名)定义外码。
主码是一种唯一关键字,表定义的一部分。一个表的主码可以由多个关键字共同组成,并且主码的列不能包含空值。主码是可选的,并且可在 CREATE TABLE语句中用Primary Key(属性名)定义。
将一个表的值放入第二个表来表示关联,所使用的值是第一个表的主键值(在必要时可包括复合主键值)。此时,第二个表中保存这些值的属性称为外键,用Foreign Key(属性名)定义。
如:
CREATE TABLE Customer
(SID integer,
CID integer,
Last_Name varchar(30),
First_Name varchar(30),
PRIMARY KEY (SID),ForeignKey(CID名));
(3)sql数据库怎样定义主文件扩展阅读:
主码不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。实际上,因为主码除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主码需要更新,则说明主码应对用户无意义的原则被违反了。
主码应当由计算机自动生成。如果由人来对主码的创建进行干预,就会使它带有除了唯一标识一行以外的意义。一旦越过这个界限,就可能产生人为修改主码的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。
⑷ mysql如何指定数据库的主数据文件逻辑名称、数据库的日志文件逻辑名称、物理文件名、初始大小、最大尺寸
这是mysql的数据库,压根不存在.mdf文件好吧
⑸ sql数据库中包含哪几种文件
sql数据库中包含主数据文件、事务日志文件、辅助数据文件三种文件。
1、主数据文件
该文件包含数据库的启动信息,并用于存储数据。每个数据库都有一个主要数据文件。
2、事务日志文件
这些文件包含用于恢复数据库的日志信息。每个数据库都必须至少有一个日志文件。
3、辅助数据文件
这些文件含有不能置于主要数据文件中的所有数据。如果主文件可以包含数据库中的所有数据,那么数据库就不需要次要数据文件。
(5)sql数据库怎样定义主文件扩展阅读
sql数据库特点
1、SQL数据库的数据体系结构基本上是三级结构,但使用术语与传统关系模型术语不同。在SQL中,关系模式(模式)称为“基本表”(basetable);存储模式(内模式)称为“存储文件”(storedfile);子模式(外模式)称为“视图”(view);元组称为“行”(row);属性称为“列”(column)。
2、sql数据库是非过程化语言、统一的语言、是所有关系型数据库的公共语言。
3、SQL用户可以是应用程序,也可以是终端用户。SQL语句可嵌入在宿主语言的程序中使用,宿主语言有FORTRAN,COBOL,PASCAL,PL/I,C和Ada语言等。SQL用户也能作为独立的用户接口,供交互环境下的终端用户使用。
⑹ 在SQL server 2000中 主文件 此文件 文件组 这些有什么关系啊
SQL数据库中的文件主要有3种类型,主要数据文件,次要数据文件,日志文件,日志就不说了,主要数据文件对用户数据库来说是必不可少的,所有的表和记录都在这里;如果一个数据库里数据太多,比如100G一个文件,那在这样一个大文件里搜索一条记录一定快不了,所以在物理上把文件分为两个,或更多个,那除了主要文件以外的,都是次要文件;如果一个数据库里某个表记录超多,比如过千万,而其他的表都正常的话,那这个库可能因为这一个表的访问效率低,而影响整个数据库的其它表,那就可以用文件组将这样的表分开存储。具体数据文件的物理存储方式,与整个库的逻辑关系是无关的,好处是数据库的设计者不需要考虑物理存储结构,只有5分就不多说了,呵呵
⑺ 如何用代码创建SQL数据库文件(最好有解释)
drop database databasenamecreate database databasename
on
primary //是主文件
(
name='employee1', //逻辑名称
filename='E:..', //存放位置
size= 10M, //初始大小
filegrowth =10%, //增长率
maxsize = 1G, //最大值
),
(
name='employee1',
filename='E:..',
size= 3M,
filegrowth =20%,maxsize = 1G,
),(
name='employee1',
filename='E:..',
size= 3M,
filegrowth =2m,
maxsize = 1G,
)
不懂可以和我说。。
⑻ sql数据库问题,求大神搭救,重重有赏
1、数据库中的主数据文件一定属于主文件组吗?
答:是;因为所有数据库都至少包含一个主文件组,所有系统表都分配在主文件组中,所以一定属于主文件组。
2、数据文件和日志文件可以在同一个文件组吗?为什么?
答:不可以;因为主数据文件存在于主文件组,日志文件不属于任何文件组。
3、删除了数据库,其数据文件和日志文件是否已经删除?
答:是的,全部已删除;
4、TRUNCATE TABLE:删除内容、释放空间但不删除定义。
通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。
(自增长列重新开始计算)
DELETE TABLE:删除内容不删除定义,不释放空间。
每次删除一行,并在事务日志中为所删除的每行记录一项。(所以delete以后的数据有办法可以恢复的;自增长列接着之前的递增)
DROP TABLE:删除内容和定义,释放空间。
理论知识不一定靠谱,关键自己要实践。
⑼ 如何在sql server 中创建文件组
create database GSM1
on primary --主文件及主文件组
(
name = main1, --逻辑文件名
filename = 'c:program filesmicrosoft sql servermssql.2mssqldatamian1.mdf', --物理文件名
size = 10MB, --初始大小
filegrowth = 1MB --增长速度
),
(
name = main2,
filename = 'c:program filesmicrosoft sql servermssql.2mssqldatamian2.ndf',
size = 10MB, filegrowth = 1MB
),
filegroup group1 --文件组group1
(
name = data, filename = 'F:数据库GSMdata.ndf', size = 5MB, filegrowth = 1MB
),
filegroup group2 --文件组group2
(
name = indexInfo, filename = 'D:SQL2005indexGSMindexInfo.ndf', size = 5MB, filegrowth = 1MB
)
log on --日志文件
(
name = 'GSM.log',
filename = 'c:program filesmicrosoft sql servermssql.2mssqldataGSMlog.ldf' ,
size = 2048KB , filegrowth = 1MB
)
(9)sql数据库怎样定义主文件扩展阅读:
SQL SERVER中文件组的用途
1、在指定文件组里创建表
--在指定文件组中创建文件
create table Test
(
Tid int primary key identity,
Title01 nvarchar(100) default('标题01'),
Title02 nvarchar(100) default('标题02'),
Title03 nvarchar(100) default('标题03'),
DataStatus tinyint default(0) --0~255 size:1字节
) on TestData
2、利用文件组创建数据库
--创建数据库
create database BigValues
on primary --数据库文件,主文件组
(
name='BigValues_Data', --逻辑名
size=10mb, --初始大小
filegrowth=10%, --文件增长
maxsize=1024mb, --最大值
filename=N'E:\SQL\BigValues_Data.mdf'--存放路径(包含文件后缀名)
),
(
name='BigValues_Data1',
size=10mb,
filegrowth=10%,
maxsize=1024mb,
filename=N'F:\Work\SQL\BigValues_Data1.mdf'
),
filegroup TestData --TestData文件组(表创建到不同的文件组里面可以分担压力)
(
name='BigValues_Data_Num1',
size=10mb,
filegrowth=10%,
maxsize=1024mb,
filename=N'E:\SQL\BigValues_Data_Num1.ndf'
),
(
name='BigValues_Data_Num2',
size=10mb,
filegrowth=10%,
maxsize=1024mb,
filename=N'F:\Work\SQL\BigValues_Data_Num2.ndf'
)
log on --日记
(
name='BigValues_Log1',
size=5mb,
filegrowth=5%,
filename=N'E:\SQL\BigValues_log1.ldf'
),
(
name='BigValues_Log2',
size=5mb,
filegrowth=5%,
filename=N'F:\Work\SQL\BigValues_log2.ldf'
)
go
⑽ sql数据库中包含哪几种文件
根据作用不同,分为以下三种:
1、主数据文件。
用来存储数据库的数据和数据库的启动信息。
每个数据库必须有且只有一个主数据文件,其扩展名为.mdf。
实际的主数据文件都有两种名称:操作系统文件名和逻辑文件名(在sql语句中会用到)
2、辅助数据文件
用来存储数据库的数据,可以扩展存储空间。
一个数据库可以有多个辅助数据文件。扩展名为.ndf
3、事务日志文件
用来存放数据库的事务日志。凡是对数据库进行的增、删、改等操作,都会记录在事务日志文件中。
每个数据库至少有一个事务日志文件。扩展名为.ldf