当前位置:首页 » 数据仓库 » 数据库的类别编号是哪个英文
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

数据库的类别编号是哪个英文

发布时间: 2022-12-07 02:19:07

㈠ MYsql数据库中使用自动编号是哪个字段类型

Oracle
不直接支持 自动递增的列。
需要创建一个序列 SEQUENCE。
又由于无法在列的默认值那里,设置默认值为序列。因此只能通过触发器来设置。
设置好触发器以后,所有的插入语句,将忽略外部传入的 id 数据,只使用指定的序列号来产生。

SQL> CREATE SEQUENCE test_sequence2
2 increment by 1 -- 每次递增1
3 start with 1 -- 从1开始
4 nomaxvalue -- 没有最大值
5 minvalue 1 -- 最小值=1
6 NOCYCLE; -- 不循环

Sequence created.

SQL> CREATE OR REPLACE TRIGGER BeforeTestCreate2Insert
2 BEFORE INSERT ON test_create_tab2
3 FOR EACH ROW
4 BEGIN
5 SELECT test_sequence2.nextval INTO :new.id FROM al;
6 END;
7 /

Trigger created.

SQL> INSERT INTO test_create_tab2(val) VALUES ('NO id');

1 row created.

SQL Server
通过 IDENTITY 来设置
参数有2个,一个是“初始值” 一个是“增量”。
默认情况下 INSERT 语句中,不能对 IDENTITY 的字段进行赋值。

1> CREATE TABLE test_create_tab2 (
2> id INT IDENTITY(1, 1) PRIMARY KEY,
3> val VARCHAR(10)
4> );
5> go

1> INSERT INTO test_create_tab2(val) VALUES ('NO id');
2> go

(1 行受影响)

MySQL
通过
AUTO_INCREMENT设置
SQL INSERT语句的时候,要避免 指定那个自增的字段
否则会发生主键的冲突。

mysql> CREATE TABLE test_create_tab2 (
-> id INT AUTO_INCREMENT,
-> val VARCHAR(10),
-> PRIMARY KEY (id)
-> );
-> //
Query OK, 0 rows affected (0.08 sec)

mysql> INSERT INTO test_create_tab2(val) VALUES ('NO id');
-> //
Query OK, 1 row affected (0.03 sec)

㈡ 请教数据库英文字母都代表什么

DM 干物质 CP 粗蛋白 ME#P 禽代谢能 DE#S 猪消化能 EE 醚浸出物即粗脂肪 LA CF 粗纤维 ASH 灰分 CA 钙 TP 总磷 AP#P 禽可利用磷 AP#S 猪可利用磷 LYS 赖氨酸 MET 蛋氨酸 M+C 蛋+胱 THR 苏氨酸 TRP 色氨酸 A***#P 禽可利用*** A***#S 猪可利用***

㈢ 数据库中各英文数据类型翻译,数字类型对应的英文是什么啊

integer
number

㈣ 数据库一般用什么英文代表库存单号

Database inventory number
数据库库存单号,完整版

㈤ 数据库设计中为什么进行分类编码设计分类的方法是什么

分类算法要解决的问题

在网站建设中,分类算法的应用非常的普遍。在设计一个电子商店时,要涉及到商品分类;在设计发布系统时,要涉及到栏目或者频道分类;在设计软件下载这样的程序时,要涉及到软件的分类;如此等等。可以说,分类是一个很普遍的问题。

我常常面试一些程序员,而且我几乎毫无例外地要问他们一些关于分类算法的问题。下面的举几个我常常询问的问题。你认为你可以很轻松地回答么?

1、分类算法常常表现为树的表示和遍历问题。那么,请问:如果用数据库中的一个Table来表达树型分类,应该有几个字段?

2、如何快速地从这个Table恢复出一棵树?

3、如何判断某个分类是否是另一个分类的子类?

4、如何查找某个分类的所有产品?

5、如何生成分类所在的路径。

6、如何新增分类?

在不限制分类的级数和每级分类的个数时,这些问题并不是可以轻松回答的。本文试图解决这些问题。

分类的数据结构

我们知道:分类的数据结构实际上是一棵树。在《数据结构》课程中,大家可能学过Tree的算法。由于在网站建设中我们大量使用数据库,所以我们将从Tree在数据库中的存储谈起。

为简化问题,我们假设每个节点只需要保留Name这一个信息。我们需要为每个节点编号。编号的方法有很多种。在数据库中常用的就是自动编号。这在Access、SQL Server、Oracle中都是这样。假设编号字段为ID。

为了表示某个节点ID1是另外一个节点ID2的父节点,我们需要在数据库中再保留一个字段,说明这个分类是属于哪个节点的儿子。把这个字段取名为FatherID。如这里的ID2,其FatherID就是ID1。

这样,我们就得到了分类Catalog的数据表定义:

Create Table [Catalog](

[ID] [int] NOT NULL,

[Name] [nvarchar](50) NOT NULL,

[FatherID] [int] NOT NULL

);

约定:我们约定用-1作为最上面一层分类的父亲编码。编号为-1的分类。这是一个虚拟的分类。它在数据库中没有记录。

如何恢复出一棵树

上面的Catalog定义的最大优势,就在于用它可以轻松地恢复出一棵树?分类树。为了更清楚地展示算法,我们先考虑一个简单的问题:怎样显示某个分类的下一级分类。我们知道,要查询某个分类FID的下一级分类,SQL语句非常简单:

select Name from catalog where FatherID=FID

显示这些类别时,我们可以这样:

<%

REM oConn---数据库连接,调用GetChildren时已经打开

REM FID-----当前分类的编号

Function GetChildren(oConn,FID)

strSQL = "select ID,Name from catalog where FatherID="&FID

set rsCatalog = oConn.Execute(strSQL)

%>

<UL>

<%

Do while not rsCatalog.Eof

%>

<LI><%=rsCatalog("Name")%>

<%

Loop

%>

</UL>

<%

rsCatalog.Close

End Function

%>

现在我们来看看如何显示FID下的所有分类。这需要用到递归算法。我们只需要在GetChildren函数中简单地对所有ID进行调用:GetChildren(oConn,Catalog(“ID”))就可以了。

<%

REM oConn---数据库连接,已经打开

REM FID-----当前分类的编号

Function GetChildren(oConn,FID)

strSQL = "select Name from catalog where FatherID="&FID

set rsCatalog = oConn.Execute(strSQL)

%>

<UL>

<%

Do while not rsCatalog.Eof

%>

<LI><%=rsCatalog("Name")%>

<%=GetChildren(oConn,Catalog("ID"))%>

<%

Loop

%>

</UL>

<%

rsCatalog.Close

End Function

%>

修改后的GetChildren就可以完成显示FID分类的所有子分类的任务。要显示所有的分类,只需要如此调用就可以了:

<%

REM strConn--连接数据库的字符串,请根据情况修改

set oConn = Server.CreateObject("ADODB.Connection")

oConn.Open strConn

=GetChildren(oConn,-1)

oConn.Close

%>

如何查找某个分类的所有产品

现在来解决我们在前面提出的第四个问题。第三个问题留作习题。我们假设产品的数据表如下定义:

Create Table Proct(

[ID] [int] NOT NULL,

[Name] [nvchar] NOT NULL,

[FatherID] [int] NOT NULL

);

其中,ID是产品的编号,Name是产品的名称,而FatherID是产品所属的分类。对第四个问题,很容易想到的办法是:先找到这个分类FID的所有子类,然后查询所有子类下的所有产品。实现这个算法实际上很复杂。代码大致如下:

<%

Function GetAllID(oConn,FID)

Dim strTemp

If FID=-1 then

strTemp = ""

else

strTemp =","

end if

strSQL = "select Name from catalog where FatherID="&FID

set rsCatalog = oConn.Execute(strSQL)

Do while not rsCatalog.Eof

strTemp=strTemp&rsCatalog("ID")&
GetAllID(oConn,Catalog("ID")) REM 递归调用

Loop

rsCatalog.Close

GetAllID = strTemp

End Function

REM strConn--连接数据库的字符串,请根据情况修改

set oConn = Server.CreateObject("ADODB.Connection")

oConn.Open strConn

FID = Request.QueryString("FID")

strSQL = "select top 100 * from Proct
where FatherID in ("&GetAllID(oConn,FID)&")"

set rsProct=oConn.Execute(strSQL)

%>

<UL><%

Do while not rsProct.EOF

%>

<LI><%=rsProct("Name")%>

<%

Loop

%>

</UL>

<%rsProct.Close

oConn.Close

%>

这个算法有很多缺点。试列举几个如下:

1、 由于我们需要查询FID下的所有分类,当分类非常多时,算法将非常地不经济,而且,由于要构造一个很大的strSQL,试想如果有1000个分类,这个strSQL将很大,能否执行就是一个问题。

2、 我们知道,在SQL中使用In子句的效率是非常低的。这个算法不可避免地要使用In子句,效率很低。

我发现80%以上的程序员钟爱这样的算法,并在很多系统中大量地使用。细心的程序员会发现他们写出了很慢的程序,但苦于找不到原因。他们反复地检查SQL的执行效率,提高机器的档次,但效率的增加很少。

最根本的问题就出在这个算法本身。算法定了,能够再优化的机会就不多了。我们下面来介绍一种算法,效率将是上面算法的10倍以上。

分类编码算法

问题就出在前面我们采用了顺序编码,这是一种最简单的编码方法。大家知道,简单并不意味着效率。实际上,编码科学是程序员必修的课程。下面,我们通过设计一种编码算法,使分类的编号ID中同时包含了其父类的信息。一个五级分类的例子如下:

此例中,用32(4+7+7+7+7)位整数来编码,其中,第一级分类有4位,可以表达16种分类。第二级到第五级分类分别有7位,可以表达128个子分类。

显然,如果我们得到一个编码为 1092787200 的分类,我们就知道:由于其编码为

0100 0001001 0001010 0111000 0000000

所以它是第四级分类。其父类的二进制编码是0100 0001001 0001010 0000000 0000000,十进制编号为1092780032。依次我们还可以知道,其父类的父类编码是0100 0001001 0000000 0000000 0000000,其父类的父类的父类编码是0100 0000000 0000000 0000000 0000000。

现在我们在一般的情况下来讨论类别编码问题。设类别的层次为k,第i层的编码位数为Ni, 那么总的编码位数为N(N1+N2+..+Nk)。我们就得到任何一个类别的编码形式如下:

2^(N-(N1+N2+…+Ni))*j + 父类编码

其中,i表示第i层,j表示当前层的第j个分类。这样我们就把任何分类的编码分成了两个部分,其中一部分是它的层编码,一部分是它的父类编码。由下面公式定一的k个编码我们称为特征码:(因为i可以取k个值,所以有k个)

2^N-2^(N-(N1+N2+…+Ni))

对于任何给定的类别ID,如果我们把ID和k个特征码“相与”,得到的非0编码,就是其所有父类的编码!

位编码算法

对任何顺序编码的Catalog表,我们可以设计一个位编码算法,将所有的类别编码规格化为位编码。在具体实现时,我们先创建一个临时表:

Create TempCatalog(

[OldID] [int] NOT NULL,

[NewID] [int] NOT NULL,

[OldFatherID] [int] NOT NULL,

[NewFatherID] [int] NOT NULL

);

在这个表中,我们保留所有原来的类别编号OldID和其父类编号OldFatherID,以及重新计算的满足位编码要求的相应编号NewID、NewFatherID。

程序如下:

<%

REM oConn---数据库连接,已经打开

REM OldFather---原来的父类编号

REM NewFather---新的父类编号

REM N---编码总位数

REM Ni--每一级的编码位数数组

REM Level--当前的级数

sub FormatAllID(oConn,OldFather,NewFather,N,Nm,Ni byref,Level)

strSQL = "select CatalogID ,
FatherID from Catalog where FatherID=" & OldFather

set rsCatalog=oConn.Execute( strSQL )

j = 1

do while not rsCatalog.EOF

i = 2 ^(N - Nm) * j

if Level then i= i + NewFather

OldCatalog = rsCatalog("CatalogID")

NewCatalog = i

REM 写入临时表:

strSQL = "Insert into TempCatalog (OldCatalogID ,
NewCatalogID , OldFatherID , NewFatherID)"

strSQL = strSQL & " values(" & OldCatalog & " ,
" & NewCatalog & " , " & OldFather & " , " & NewFather & ")"

Conn.Execute strSQL

REM 递归调用FormatAllID:

Nm = Nm + Ni(Level+1)

FormatAllID oConn,OldCatalog , NewCatalog ,N,Nm,Ni,Level + 1

rsCatalog.MoveNext

j = j+1

loop

rsCatalog.Close

end sub

%>

调用这个算法的一个例子如下:

<%

REM 定义编码参数,其中N为总位数,Ni为每一级的位数。

Dim N,Ni(5)

Ni(1) = 4

N = Ni(1)

for i=2 to 5

Ni(i) = 7

N = N + Ni(i)

next

REM 打开数据库,创建临时表:

strSQL = "Create TempCatalog( [OldID]
[int] NOT NULL, [NewID] [int] NOT NULL,
[OldFatherID] [int] NOT NULL, [NewFatherID] [int] NOT NULL);"

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open Application("strConn")

Conn.Execute strSQL

REM 调用规格化例程:

FormatAllID Conn,-1,-1,N,Ni(1),Ni,0

REM ---------------------------------------------

REM 在此处更新所有相关表的类别编码为新的编码即可。

REM ----------------------------------------------

REM 关闭数据库:

strSQL= "drop table TempCatalog;"
Conn.Execute strSQL
Conn.Close

%>

第四个问题

现在我们回头看看第四个问题:怎样得到某个分类下的所有产品。由于采用了位编码,现在问题变得很简单。我们很容易推算:某个产品属于某个类别的条件是Proct.FatherID&(Catalog.ID的特征码)=Catalog.ID。其中“&”代表位与算法。这在SQL Server中是直接支持的。

举例来说:产品所属的类别为:1092787200,而当前类别为1092780032。当前类别对应的特征值为:4294950912,由于1092787200&4294950912=8537400,所以这个产品属于分类8537400。

我们前面已经给出了计算特征码的公式。特征码并不多,而且很容易计算,可以考虑在Global.asa中Application_OnStart时间触发时计算出来,存放在Application(“Mark”)数组中。

当然,有了特征码,我们还可以得到更加有效率的算法。我们知道,虽然我们采用了位编码,实际上还是一种顺序编码的方法。表现出第I级的分类编码肯定比第I+1级分类的编码要小。根据这个特点,我们还可以由FID得到两个特征码,其中一个是本级位特征码FID0,一个是上级位特征码FID1。而产品属于某个分类FID的充分必要条件是:

Proct.FatherID>FID0 and Proct.FatherID<FID1

下面的程序显示分类FID下的所有产品。由于数据表Proct已经对FatherID进行索引,故查询速度极快:

<%

REM oConn---数据库连接,已经打开

REM FID---当前分类

REM FIDMark---特征值数组,典型的情况下为Application(“Mark”)

REM k---数组元素个数,也是分类的级数

Sub GetAllProct(oConn,FID,FIDMark byref,k)

' 根据FID计算出特征值FID0,FID1

for i=k to 1

if (FID and FIDMark = FID ) then exit

next

strSQL = "select Name from Proct where FatherID>
"FIDMark(i)&" and FatherID<"FIDMark(i-1)

set rsProct=oConn.Execute(strSQL)%>

<UL><%

Do While Not rsProct.Eof%>

<LI><%=rsProct("Name")

Loop%>

</UL><%

rsProct.Close

End Sub

%>

关于第5个问题、第6个问题,就留作习题吧。有了上面的位编码,一切都应该迎刃而解。

㈥ 请问数据库里的类型的这几个英语是什么意思

bigint 长整型数
binary 二进制
bit 位,比特
char 字符
datetime 日期时间
decimal 十进制
float 浮动
image 图像
int 取整
money 货币
nchar
ntext
numeric 数字,数据
nvarchar 类型
real 复数的实部
smalldatetime
smallint
smallmoney
sql_variant变量结构化查询语言
text 文本
timestamp 时间信息
tinyint 微整型
uniqueidentifier唯一标识符
varbinary 可变二进制
varchar 可变长字符串

有一些不太清楚,可能不够术语,希望有帮助吧

㈦ 请问数据库有哪些种类呢

数据库共有3种类型,为关系数据库、非关系型数据库和键值数据库。

1、关系数据库

MySQL、MariaDB(MySQL的代替品,英文维基网络从MySQL转向MariaDB)、Percona Server(MySQL的代替品·)、PostgreSQL、Microsoft Access、Microsoft SQL Server、Google Fusion Tables、FileMaker、Oracle数据库、Sybase、dBASE、Clipper、FoxPro、foshub。

几乎所有的数据库管理系统都配备了一个开放式数据库连接(ODBC)驱动程序,令各个数据库之间得以互相集成。

2、非关系型数据库(NoSQL)

BigTable(Google)、Cassandra、MongoDB、CouchDB。

3、键值(key-value)数据库

Apache Cassandra(为Facebook所使用):高度可扩展、Dynamo、LevelDB(Google)。

(7)数据库的类别编号是哪个英文扩展阅读:

数据库模型:对象模型、层次模型(轻量级数据访问协议)、网状模型(大型数据储存)、关系模型、面向对象模型、半结构化模型、平面模型(表格模型,一般在形式上是一个二维数组。如表格模型数据Excel)。

数据库的架构可以大致区分为三个概括层次:内层、概念层和外层。

㈧ 数据库中的"行"是什么英文简写是什么

行代表一条记录,如Excel中的"行"是一样的.
英文一般使用Row表示, 比如每行的ID号使用RowID或者每行的序号RowNum

㈨ 数据库的英文缩写

DB(Database)数据库,另外,还有常见的DBMS表示数据库管理系统(Database Management System)。

数据库是以某种规则储存在一起、能够与多个用户共享、具有尽可能小的冗余度、且与应用程序彼此独立的数据集合,可以视为电子化的文件柜,用户可以对文件中的数据进行新增、查询、更新、删除等操作。

(9)数据库的类别编号是哪个英文扩展阅读:

数据库类型:

1、关系数据库

关系型数据库,存储的格式可以直观地反映实体间的关系。关系型数据库和常见的表格比较相似,关系型数据库中表与表之间是有很多复杂的关联关系的。

常见的关系型数据库有Mysql,SqlServer等。在轻量或者小型的应用中,使用不同的关系型数据库对系统的性能影响不大,但是在构建大型应用时,则需要根据应用的业务需求和性能需求,选择合适的关系型数据库。

2、非关系型数据库(NoSQL)

指的是分布式的、非关系型的、不保证遵循ACID原则的数据存储系统。NoSQL数据库技术与CAP理论、一致性哈希算法有密切关系。

NoSQL数据库技术还是具有非常明显的应用优势,如数据库结构相对简单,在大数据量下的读写性能好;能满足随时存储自定义数据格式需求,非常适用于大数据处理工作。

㈩ 数据库有哪些类型

数据库有两种类型,分别是关系型数据库与非关系型数据库。

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。

关系型数据库主要有:

Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL等等。

非关系型数据库主要有:

NoSql、Cloudant、MongoDb、redis、HBase等等。

(10)数据库的类别编号是哪个英文扩展阅读

非关系型数据库的优势:

1、性能高:NOSQL是基于键值对的,可以想象成表中的主键和值的对应关系,而且不需要经过SQL层的解析,所以性能非常高。

2、可扩展性好:同样也是因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展。

关系型数据库的优势:

1、可以复杂查询:可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。

2、事务支持良好:使得对于安全性能很高的数据访问要求得以实现。