如何使用SQL代码创建数据库

如何使用SQL代码创建数据库,第1张

创建数据库和表的 *** 作有两种方法:

一、可视化 *** 作

1创建数据库

选中数据库右击,在出现的对话框中选择新建数据库,然后新出现的对话框中填写数据库的名称

2创建数据表

选中数据库下的表右击,在出现的对话框最上方有新建表选项,新出现的对话框中有列名、数据类型、允许Null值三列,这里可以添加表的的列,添加好列后保存Ctrl+S或者点击上方的保存,填写表名称确定就创建好了。

二、使用SQL语句创建

1创建数据库

createdatabasestuDB--stuDB是数据库的名称

onprimary--默认就属于primary文件组,可省略

(

/--数据文件的具体描述--/

name='stuDB_data',--主数据文件的逻辑名称

filename='D:stuDB_datamdf',--主数据文件的物理路径和名称

size=5mb,--主数据文件的初始大小

maxsize=100mb,--主数据文件增长的最大值

filegrowth=15%--主数据文件的增长率

)

logon

(

/--日志文件的具体描述,各参数含义同上--/

name='stuDB_log',

filename='D:stuDB_logldf',

size=2mb,

filegrowth=1mb

)

-----2创建数据表

useStuDB--使用某个数据库(在某个数据库下建表)

go

ifexists(selectfromsysobjectswherename='stuMarks')--查询数据库是否已存在此表

droptablestuMarks--如果存在该表则删除,不存在不执行此句

createtablestuMarks--stuMarks是表的名称

(

ExamNointidentity(1,1)primarykey,--列名数据类型约束

stuNochar(6)notnull,--列名数据类型是否允许插入Null值

writtenExamintnotnull,

LabExamintnotnull

)

go

--其中,列属性"identity(起始值,递增量)"表示"ExamNo"列为自动编号,也称为标识列altertable表名

addconstraint约束名约束类型具体的约束说明

altertable表名

dropconstraint约束名

--只针对题目要求

IF EXISTS (SELECT FROM sysdatabases WHERE name = 'NetBar')

DROP DATABASE NetBar;

GO

-- Create the database

CREATE DATABASE NetBar

ON PRIMARY

(name='netbar_data',

filename='c:\netbar\netbar_datamdf',

size=5mb,

maxsize=100mb,

filegrowth=5mb)

LOG ON

(name='netbar_log',

filename='c:\netbar\netbar_logldf',

size=5mb,

filegrowth=1mb

)

;

GO

use NetBar

alter database NetBar

set auto_shrink false

GO

CREATE LOGIN NetManager 'password@123'

GO

CREATE USER NetManager

GO

GRANT select on NetBar to NetManager

GO

-- 只插入关键的几列, 其他列就不折腾了

CREATE TABLE #count_card (

  card_id  INT,

  card_number  varchar(10),

  card_pass    varchar(20)

);

GO

-- 假设插入 10行, 首字母 A

INSERT INTO  #count_card 

SELECT

  tnumber,

  'A' + RIGHT( REPLICATE('0', 8) + CAST(tnumber as varchar) , 8),

  RIGHT(STR(RAND(tnumber + 100RAND()), 18, 17),12)

FROM 

  masterspt_values t

WHERE

  ttype='P' 

  AND tnumber between 1 and 10;

GO

  

-- 核对数据

SELECT  FROM #count_card ;

GO

card_id     card_number card_pass

----------- ----------- --------------------

          1 A00000001   894660572885

          2 A00000002   080990285468

          3 A00000003   267319998049

          4 A00000004   453649710632

          5 A00000005   639979423213

          6 A00000006   826309135795

          7 A00000007   012638848378

          8 A00000008   198968560959

          9 A00000009   385298273542

         10 A00000010   571627986123

(10 行受影响)

-- 注: 本查询使用了 masterspt_values 表, 用于获取一个 连续的编号。

-- 但是这个表的行数不多

-- 这个 表里面,最大支持的数量是:

SELECT 

  MIN(number),  MAX(number)

FROM 

  masterspt_values

WHERE 

  type='P'

----------- -----------

          0        2047

(1 行受影响)

官方:基因本体(GO)知识库是有关基因功能的全球最大信息来源。 这些知识既是人类可读的,也是机器可读的,并且是生物医学研究中大规模分子生物学和遗传学实验的计算分析的基础。

在读懂基因本体论(Gene Ontology)前,我们先看看什么是本体论:

本体论(Ontology )是探究世界的本原或基质的哲学理论 。

本体论通常处理的问题:存在哪些本质,如何将这些本质分组,在层次结构内关联以及如何根据相似性和差异进行细分 。

基因本体论(Gene Ontology)包含生物学领域知识体系本质的表示形式,本体通常由一组类(或术语或概念)组成,它们之间具有关系。 基因本体论(GO)从三个方面(GO domains)描述了我们对生物学领域的了解:

理解了上述的概念,现在举个例子,如果站在基因本体论GO的角度来解释一个基因的话:

基因产物:细胞色素C(cytochrome c)

分子功能:氧化还原酶活性

细胞组分:线粒体基质

生物过程:氧化磷酸化

自定义同义词类型也用于本体中。 例如,许多同义词被指定为系统同义词。 此类型的同义词是术语名称的确切同义词。

GO以图的形式构建,术语作为同种的节点,术语间的关系(对象属性)作为连接。

GO图中的节点与其他节点可以具有任意数量和类型的关系, 就像层次结构,例如,家谱或一个物种的分类法

一个节点可能与多个子节点(更特定的节点)具有连接,也可以具有多个父节点(较宽的节点)

利用关系与关系间的连接可以推断相应的分组注释,节点间关系的推断,这个会在后面详细研究:

上图表示:A is a B,B is part of C,所以可以推断 A is part of C

节点间总体与部分关系:

一个节点可能与一个节点有一部分关系。 下图说明了这一点:

上图: mitochondrion 是两个节点的父节点:it is an organelle and it is part of the cytoplasm ; organelle 有两个子节点: mitochondrion is an organelle, and organelle membrane is part of organelle

我们将上面的关系图简化表示为 箭头导向性图 ,这是图中常见的关系表示:

接下我们详细看看GO是怎样来描述这几种关系的:

如果我们说 A is a B ,则意味着节点A是节点B的子类型。例如,有丝分裂细胞周期是细胞周期,或者裂解酶活性是催化活性。

应该注意的是,a并不代表是实例。 从本体论上来说,一个实例是某个事物的具体示例。 例如 猫是哺乳动物,但加菲猫是猫的实例,而不是猫的亚型。 GO中的术语表示实体或现象的类别,而不是特定的表现形式(或实例)。 但是,如果我们知道猫是哺乳动物,则可以说猫的每个实例都是哺乳动物。

使用 is a 对批注进行分组是 安全的 。例如,如果将基因产物X注释为具有酪氨酸激酶活性,并且本体论证明酪氨酸激酶活性是激酶活性的一种(类型),那么我们可以安全地得出结论,基因产物X具有激酶活性。

利用上面得到结论,我们可以将 is a 关系和其他关系类型结合来推断,下图表示了可以推断的关系:

关系的一部分用于表示整个部分的关系。 part of 只有当B一定是A的一部分时,才会在A和B之间部分关系:无论B存在于何处,它都是A的一部分,B的存在意味着A的存在。但是,考虑到A的出现,我们不能肯定地说B的存在。

使用的 part of 进行分组注释是 安全的 。 例如,如果将基因产物X标注为位于线粒体内膜上,而本体论记录了线粒体内膜与线粒体之间的关系的一部分,则可以安全地得出结论X位于线粒体内。

利用上面得到结论,我们可以将 part of 关系和其他关系类型结合来推断,下图表示了可以推断的关系:

has part 是对关系部分的逻辑补充,它从父级的角度代表了“部分-整体”关系。

与 part of 一样,GO关系 has part 仅在A始终将B作为一部分的情况下使用,即A必定具有B的部分。 但是,如果B存在,我们不能肯定地说A存在。 即所有A都有B部分,但是A只是B的一部分。

使用 has part 注释进行分组是 不正确的 。 例如,我们可以在本体论中断言受体酪氨酸激酶活性具有部分激酶活性。 然而,将所有注释归类到受体酪氨酸激酶活性下的激酶活性将是不正确的。

利用上面得到结论,我们可以将 has part 关系和其他关系类型结合来推断,下图表示了可以推断的关系:

一种过程直接影响另一种过程或质量的表现,即前者调节后者。 调节的目标可以是另一种过程,例如调节途径或酶促反应,或者可以是质量,例如细胞大小或pH。 与 part of 关系类似,该关系专门用于表示必定的调节:如果同时存在A和B,则B总是调节A,但是A可能不总是受B调节,即所有B都调节A; 一些A受B调节。

如果将基因产物X注释为参与调节糖酵解的过程,则不能得出结论X参与糖酵解是 不正确的 。 但是,某些工具使用调节关系来对批注进行分组, 这可用于基因集富集, 所得的基因集包括与分组术语有因果关系的过程中涉及的基因。

利用上面得到结论,我们可以将 regulates 关系和其他关系类型结合来推断,下图表示了可以推断的关系:

GO的结构可以用下图来表示,这个图也叫有向无环图(Directed Acyclic Graph ,DAG)。

如上图所示,三个GO域(细胞成分,生物学过程和分子功能)分别由一个单独的根本体术语表示。

一个域中的所有术语都可以将其父源追溯到一个根术语,通过到本体根的中间术语可能存在许多不同的路径。

这三个根节点是不相关的,并且没有公共的父节点,这意味着来自不同本体的术语之间没有任何关系。但是,GO本体之间也存在其他关系,例如,分子功能术语“细胞周期蛋白依赖性蛋白激酶活性”是生物过程“细胞周期”的一部分。GO本体间相关 >

以上就是关于如何使用SQL代码创建数据库全部的内容,包括:如何使用SQL代码创建数据库、SQL 的错误 求救~~~~~~~USE 教学成绩管理数据库 GO ALTER TABLE Sell DROP CONSTRAINT U_Email GO ALTER T、使用脚本向数据库中插入指定的随机数据!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9773929.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存