当前位置:首页 » 数据仓库 » 数据库英文面试
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

数据库英文面试

发布时间: 2023-06-01 04:37:13

A. 面试常问的数据库问题及答案

目前在职场中很难找到非常合格的数据库开发人员。有人说:“sql开发是一门语言,它很容易学,但是很难掌握。”
在面试应聘的SQL Server数据库开发人员时,我运用了一套标准的基准技术问题。下面这些问题是我觉得能够真正有助于淘汰不合格应聘者的问题。它们按照从易到难的顺序排列。当你问到关于主键和外键的问题时,后面的问题都十分有难度,因为答案可能会更难解释和说明,尤其是在面试的情形下。
你能向我简要叙述一下SQL Server 2000中使用的一些数据库对象吗?
你希望听到的答案包括这样一些对象:表格、视图、用户定义的函数,以及存储过程;如果他们还能够提到像触发器这样的对象就更好了。如果应聘者不能回答这个基本的问题,那么这不是一个好兆头。
NULL是什么意思?
NULL(空)这个值是数据库世界里一个非常难缠的东西,所以有不少应聘者会在这个问题上跌跟头您也不要觉得意外。
NULL这个值表示UNKNOWN(未知):它不表示“”(空字符串)。假设您的SQL Server数据库里有ANSI_NULLS,当然在默认情况下会有,对NULL这个值的任何比较都会生产一个NULL值。您不能把任何值与一个 UNKNOWN值进行比较,并在逻辑上希望获得一个答案。您必须使用IS NULL操作符。

什么是索引?SQL Server 2000里有什么类型的索引?
任何有经验的数据库开发人员都应该能够很轻易地回答这个问题。一些经验不太多的开发人员能够回答这个问题,但是有些地方会说不清楚。
简单地说,索引是一个数据结构,用来快速访问数据库表格或者视图里的数据。在SQL Server里,它们有两种形式:聚集索引和非聚集索引。聚集索引在索引的叶级保存数据。这意味着不论聚集索引里有表格的哪个(或哪些)字段,这些字段都会按顺序被保存在表格。由于存在这种排序,所以每个表格只会有一个聚集索引。非聚集索引在索引的叶级有一个行标识符。这个行标识符是一个指向磁盘上数据的指针。它允许每个表格有多个非聚集索引。
什么是主键?什么是外键?
主键是表格里的(一个或多个)字段,只用来定义表格里的行;主键里的值总是唯一的。外键是一个用来建立两个表格之间关系的约束。这种关系一般都涉及一个表格里的主键字段与另外一个表格(尽管可能是同一个表格)里的一系列相连的字段。那么这些相连的字段就是外键。
什么是触发器?SQL Server 2000有什么不同类型的触发器?
让未来的数据库开发人员知道可用的触发器类型以及如何实现它们是非常有益的

触发器是一种专用类型的存储过程,它被捆绑到SQL Server 2000的表格或者视图上。在SQL Server 2000里,有INSTEAD-OF和AFTER两种触发器。INSTEAD-OF触发器是替代数据操控语言(Data Manipulation Language,DML)语句对表格执行语句的存储过程。例如,如果我有一个用于TableA的INSTEAD-OF-UPDATE触发器,同时对这个表格执行一个更新语句,那么INSTEAD-OF-UPDATE触发器里的代码会执行,而不是我执行的更新语句则不会执行操作。
AFTER触发器要在DML语句在数据库里使用之后才执行。这些类型的触发器对于监视发生在数据库表格里的数据变化十分好用。
您如何确一个带有名为Fld1字段的TableB表格里只具有Fld1字段里的那些值,而这些值同时在名为TableA的表格的Fld1字段里?
这个与关系相关的问题有两个可能的答案。第一个答案(而且是您希望听到的答案)是使用外键限制。外键限制用来维护引用的完整性。它被用来确保表格里的字段只保存有已经在不同的(或者相同的)表格里的另一个字段里定义了的值。这个字段就是候选键(通常是另外一个表格的主键)。
另外一种答案是触发器。触发器可以被用来保证以另外一种方式实现与限制相同的作用,但是它非常难设置与维护,而且性能一般都很糟糕。由于这个原因,微软建议开发人员使用外键限制而不是触发器来维护引用的完整性。
对一个投入使用的在线事务处理表格有过多索引需要有什么样的性能考虑?
你正在寻找进行与数据操控有关的应聘人员。对一个表格的索引越多,数据库引擎用来更新、插入或者删除数据所需要的时间就越多,因为在数据操控发生的时候索引也必须要维护。
你可以用什么来确保表格里的字段只接受特定范围里的值?
这个问题可以用多种方式来回答,但是只有一个答案是“好”答案。您希望听到的回答是Check限制,它在数据库表格里被定义,用来限制输入该列的值。
触发器也可以被用来限制数据库表格里的字段能够接受的值,但是这种办法要求触发器在表格里被定义,这可能会在某些情况下影响到性能。因此,微软建议使用Check限制而不是其他的方式来限制域的完整性。
<b?返回参数和output参数之间的区别是什么?>如果应聘者能够正确地回答这个问题,那么他的机会就非常大了,因为这表明他们具有使用存储过程的经验。
返回参数总是由存储过程返回,它用来表示存储过程是成功还是失败。返回参数总是INT数据类型。
OUTPUT参数明确要求由开发人员来指定,它可以返回其他类型的数据,例如字符型和数值型的值。(可以用作输出参数的数据类型是有一些限制的。)您可以在一个存储过程里使用多个OUTPUT参数,而您只能够使用一个返回参数。
什么是相关子查询?如何使用这些查询?
经验更加丰富的开发人员将能够准确地描述这种类型的查询。
相关子查询是一种包含子查询的特殊类型的查询。查询里包含的子查询会真正请求外部查询的值,从而形成一个类似于循环的状况。</b?返回参数和output参数之间的区别是什么?>

B. 15个 MySQL 基础面试题,DBA 们准备好了吗

问题1:你如何确定 MySQL 是否处于运行状态?
答案: 在Debian 上运行命令 service mysql status,然后看输出即可。
在 RedHat 或者 centos 上运行命令 service mysqld status,然后看看输出即可。

问题2:如何开启或停止 MySQL 服务?
答案:运行命令 service mysqld start 开启服务;
运行命令 service mysqld stop 停止服务。

问题3:如何通过 Shell 登入 MySQL?
答案:运行命令 mysql -u用户名 -p登陆密码

问题4:如何列出所有数据库?
答案:运行命令 show databases;

问题5: 如何切换到某个数据库并在上面工作?
答案:(1)运行命令 use database_name;
(2)进入名为 database_name 的数据库。

问题6:如何列出某个数据库内所有表?
答案:在当前数据库运行命令 show tables;

问题7:如何获取表内所有 Field 对象的名称和类型?
答案:运行命令 describe 表名;
简写为desc 表名;

问题8:如何删除表?
答案:运行命令 drop table 表名;

问题9:如何删除数据库?
答案:运行命令 drop database 数据库名;

问题10:如何查看表内所有数据?
答案:运行命令 select * from 表名;

问题11:如何从表(比如 oc_users )中获取一个 field 对象(比如 uid)的所有数据?
答案:运行命令 select uid from oc_users;

问题12:假设你有一个名为 ‘xyz’ 的表,它存在多个字段,如 ‘createtime’和 ‘engine’,
名为 engine 的字段由 ‘Memoty’ 和 ‘MyIsam’ 两种数值组成。
如何只列出 ‘createtime’ 和 ‘engine’ 这两列,并且 engine 的值为 ‘MyIsam’?
答案:运行命令 select create_time, engine from xyz where engine = “MyIsam” ;

问题13:如何列出表 ‘xrt’ 内 name 域值为 ‘tecmint’,web_address 域值为 ‘tecmint.com’ 的所有数据?
答案:运行命令 select * from xrt where name = “tecmint” and web_address = “tecmint.com” ;

问题14:如何列出表 ‘xrt’ 内 name 域值不为 ‘tecmint’,web_address 域值为 ‘tecmint.com’ 的所有数据?
答案:运行命令 select * from xrt where name != “tecmint” and web_address = “tecmint.com”;

问题15:如何知道表内行数?
答案:运行命令 select count(*) from 表名;

C. 英语面试的几大技能

英语面试的几大技能

在面试时,个人技能主要指除了专业之外的、能对你的专业发展有帮助的一些技能。也许你有很多技能,也不必一一列出,最好只说那些与应聘岗位相关的资格认证或者技能。最突出的就是外语能力,比如英语水平和日语水平怎样,以及电脑知识,这些都可以被看作是应聘者的技能。

WORD & EXPRESSION 基本词汇表达

proficiency 熟练程度;精通 fluently 流利地,通畅地

carry on 进行 qualification 资格

certificate 证书;证明书 license 许可证,执照

programming 编程 datebase 数据库

language competence 语言能力 foreign language proficiency 外语水平

fluent spoken English 英语口语流利 good written English 英语书面表达能力强

master English 精通英语 good command of English 精通英语

Pass CET-4 通过大学英语四级 Distincetion CET-4 大学英语四级优秀

pass CET-6 通过大学英语六级 A/B/C Grade in CET Spoken Test 大学英语口试A等(B等、C等)

Chinese copetence 中文表指并派达能力 writing ability 写作能力

able to operate computer 会使用计算机

know how to use various types of software 会使用各种常用软件

write articles on the computer 会在计算机上起草文件

able to surf the Internet 会上网

able to browse and check info on line 会利用网络查找信息

good at handling complicated interpersonal relations 善于处理复杂的人事关系

good at persuading others 擅长说服别人

capable of tolerating conflicting opinions 能够容忍不同意见

willingto cooperate 愿意与人合作

good at tapping the potentials of the co-workers 善于把合作人的潜力发挥出来

able to drive 会驾驶 clean record 无违章纪录

management skills 管理能力 organizational skills 组织能力

communication skills 沟通能力 negotiating skills 谈判能力

persuasion skills 说服能力 problem solving ability 解决问题的能力

programming ability 规划能力 insight 洞察能力

foresight and sagacity 远见蔽厅卓识 practical work ability 实际工作能力

hard-working and tolerant of hardship 吃苦耐劳 aggressive 积极进取

【简历中表达电脑技能的词汇】:

A good understanding and working knowledge of computers. 具电脑理解和应用知识。

Having experience in PC operation(Lotus, Wordperfect). 有操作PC机(Lotus和Wordperfect)的经验。

Database programming and network knowledge. 会唯贺数据库编程并具网络知识。

Have a technical degree and extensive experience in computers. 具有工科学历和广泛的电脑知识。

Good at computer operation of Windows. 熟练操作Windows。

Computer operating skills. 懂电脑操作技术。

Be skilled with computers. 熟悉电脑运用。

I/C systems design experience background . 具有1/C系统设计经验。

Sound knowledge and experience with computers.具有坚实的电脑知识和经验。

Some familiarity with personal computers. 略为熟悉个人电脑。

Have experience in computer operation, proficiency in Microsoft Windows, Microsoft Word and Microsoft Excel.有电脑操作经验,熟悉Windows,word和Excel。

Knowledge of microcomputer and software programming. 了解微电脑及软件编程。

Proficient in UNlX as well as DOS/WIN and Windows NT. 熟悉UNIX和DOS/WIN及Windows NT。

Strong knowledge of personal computer hardware. 具有坚实的硬件知识。

Familiar with computer networking and office proctivity software. 熟悉电脑网络和办公室生产率软件。

Working knowledge of Novell Lan, NUIX, Foxpro, C++, relational detabase. 熟悉Novell Lan,NUIX,Foxpro,C++ 联网数据库的应用。

High proficiency in computer operation. 熟练操作电脑。

With experience in system development including system analysis and design. 有系统开发经验,包括系统分析和设计。

BASIC EXPRESSIONS 基本句型表达

【面试方】:

1) How do you think of your English? 你认为你的英语水平如何?

2) How do you think of your proficiency in written and spoken English? 你认为你的书面英语和口语熟练程度如何?

4) What other foreign language do you speak? 你还能说什么其他外语吗?

6) Have you obtained any certificate of technical qualifications? 你获得过什么技术证书吗?

7) What special skills do you have, can you tell me? 你能告诉我你有什么特殊技能吗?

8) Have you gotten any special training in ...? 你接受过……方面的'特殊培训吗?

【应聘者】:

1) I can speak English/French/Spanish/German. 我会讲英语/法语/西班牙语/德语。

I think my English is good enough to communicate with English speaking people.
我认为我能用英语和说英语国家的人很好的交流。

2) I have received an Engineer's Qualification Certificate. 我获得了工程师资格证书。

I have received an Accountant?s Qualification Certificate. 我获得了会计师资格证书。

I have received a Computer Operation?s Qualification Certificate. 我获得了计算机操作证书。

I have received a Tourist Guide?s Qualification Certificate. 我获得了导游证书。

3) I am accomplished in programming. 我编程很熟练。

I am well up in programming. 我精通编程。

I am proficient in programming. 我精通编程。

I have a good command of programming. 我精通编程。

在叙述个人技能时,如果用 be familiar with,无意中给人造成技术不过关的假象。这可能与东方人比较含蓄有关,面试时要避免这一情况。主考官如果问你是否熟悉C++,如果是熟悉的话,还应该恰到好处地回答你用C++做过什么,这是他们最感兴趣的。在回答做过哪些项目时,要讲清楚当时是担任什么职务、承担哪部分工作,用过哪些硬件、软件等。

4) I have experience in computer operation. 我具有计算机操作经验。

I am experienced in computer operation. 我对计算机操作很有经验。

I am skillful with computer operation. 我的计算机操作技术很好。

5) I have a good command of 我精通……

CONVERSATIONS 会话

(A=Applicant I=Interviewer)

【Dialogue 1】:

I: Our advertisement says English competence is a key requirement of this position. Then how do you think of your proficiency in written and spoken English?
A: I have learned English for 10 years, and I have passed College English Test Band 4 and 6.My spoken English is fairly good enough to express myself fluently.
I: What other foreign language do you speak?
A: I did self-study of Japanese in college, and I can carry on some simple conversations in Japanese.

I: 我们的招聘广告要求这个职位的应聘者应当具有相当好的英语水平,那么,你认为你的书面英语和口语能力如何呢?
A: 我已经学英语10年了,而且我通过了大学英语四级和六级。我能用英语口语把自己的想法流利地表达出来。
I: 你还能说其他别的外语吗?
A: 我在大学时自学过日语,我能用日语进行一些简单的对话。

【Dialogue 2】:

I: Have you obtained any certificate of technical qualifications or license?
A: Yes, I have received an Engineer?s Qualification Certificate and a driver?s license.
I: How many years have you had the driver?s license?
A: I have two years driving experience.
I: That?s good. What special skills do you have, can you tell me?
A: I have experience in computer operation,proficiency in Microsoft Windows,Microsoft Word and Microsoft Excel.
I: What computer languages have you learned?
A: Visual C++, C and Delphi.
I: Have you gotten any special training in programming?
A: No, but I have database programming experience and network knowledge.

I: 你获得过技术资格证书或者执照吗?
A: 是,我有工程师资格证书和驾照。
I: 你获得驾照多长时间了?
A: 我已经有两年的驾龄了。
I: 好,那你能告诉我你有什么特殊技能吗?
A: 我有电脑操作经验,熟悉微软Windows,Word和Excel。
I: 你学过哪种计算机语言?
A: Visual C++, C 和Delphi。
I: 你在编程方面受到过特殊培训吗?
A: 没有,但是我有数据库编程经验并具有网络知识。

;

D. ORACLE数据库面试题

1.
update t
set logdate=to_date('2003-01-01','yyyy-mm-dd')
where logdate=to_date('2001-02-11','yyyy-mm-dd');

2.
select *
from t
where name in (select name from t group by name having coung(*)>1)
order by name;--没说清楚,到底是升序还是降序

3.
select ID,NAME,ADDRESS,PHONE,LOGDATE
from
(
select t.*,row_number() over(partition by name order by name) rn
from t
)
where rn = 1;

4.
update t
set (address,phone)=
(select address,phone from e where e.name=t.name);

5.
select *
from t
where rownum <=5
minus
select *
from t
where rownum <=2;

也没什么特别的地方,有些题目用oracle特有的函数去做会比较简单,像在第三题中用到的oracle的分析函数,以及在第一题中用到的oracle的to_char()函数。

这几个题目主要是看你能不能使用oracle的函数去处理

E. oracle数据库面试问题

oracle数据库面试问题

Oracle数据库产品为财富排行榜上的前1000家公司所采用,许多大型网站也选用了Oracle系统。下面是我整理的关于oracle数据库面试问题,希望大家认真阅读!

1. 解释冷备份链如和猜唤孝热备份的不同点以及各自的优点

解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式穗稿下,数据库性能会比归档模式稍好。(因为不必将archive log写入硬盘)

2. 你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢?

解答:重建控制文件,用带backup control file 子句的recover 命令恢复数据库。

3. 如何转换init.ora到spfile?

解答:使用create spfile from pfile 命令.

4. 解释data block , extent 和 segment的区别(这里建议用英文术语)

解答:data block是数据库中最小的逻辑存储单元。当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent . 一个数据库对象拥有的所有extents被称为该对象的segment.

5. 给出两个检查表结构的方法

解答:1.DESCRIBE命令

2.DBMS_METADATA.GET_DDL 包

6. 怎样查看数据库引擎的'报错

解答:alert log.

7. 比较truncate和delete 命令

解答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL操作,它移动HWK,不需要 rollback segment .而Delete是DML操作, 需要rollback segment 且花费较长时间.

8. 使用索引的理由

解答:快速访问表中的data block

9. 给出在STAR SCHEMA中的两种表及它们分别含有的数据

解答:Fact tables 和dimension tables. fact table 包含大量的主要的信息而 dimension tables 存放对fact table 某些属性描述的信息

10. FACT Table上需要建立何种索引?

解答:位图索引 (bitmap index)

;

F. 求数据库工程师面试的自我介绍

尊敬的领导:
大家下午好!很荣幸能在这里面试,让我有向各位考官学习与交流的机会,现将自己的情况简要介绍一下:我叫优就业,优是优秀的优,就是就业的就,业是毕业的业。我是**工业工程职业技术学院0*届计算机网络专业应届毕业生.即将面临毕业,我渴望找到一份适合自己并值得为其奉献一切的工作。
我有较好的计算机知识和应用能力,能熟练的进行Windows2000和LINUX操作,并能使用VB,DELPHI等语言编程.能运用网页三剑客Photoshop等软件进行相关工作。
我的专长是数据库开发,我希望能从事这方面的工作.我曾开发过多个系统,基中有,成绩管理系统,人事档案管理系统,工资管理系统等等.
在大学期间,每个学期都获得了奖学金,在学习理论的同时,我还培养自己的动手动力,先后的参加过专业技能和电脑操作等比赛,在校12届文化艺术节中四项全能获得三等奖。还担任过班长,具有很强的组织和协调能力。很强的事业心和责任感使我能够面对任何困难和挑战。
最后,我想总结一下我的工作特点。第一是团队协作意识强,善于与人交流和沟通;第二是动手能力和学习能力突出;第三是做事稳健,态度认真,有一定的组织协调 能力;第四是考虑问题全面、仔细,做事有自己明确的想法和计划。我想在走上工作岗 位之后,我可以以最快的速度适应工作环境,不断挖掘自己的能力,完善自己,为企业 创造效益。我想加入XX公司是因为我喜欢我的专业,也很看好XX公司的未来发展,在这里我可以学以致用,这让我有很大的成就感和幸福感。同时我也很欣赏 XX公司的企业文化,很喜欢XX公司的工作环境。我愿意成为企业一员,为企业的发展贡献自己的一份力量。 我的职业生涯目标是,做一个既懂技术,又懂业务的复合型人才。

G. 数据库开发工程师面试题

select LESSON_NAME as '科目',
max(case when sequence = 1 then NameGrade else null end) as '第一名(姓名+分数)',
max(case when sequence = 2 then NameGrade else null end) as '第二名(姓名+分数)',
max(case when sequence = 3 then NameGrade else null end) as '第三名(姓名+分数)'
(
select LESSON_NAME,STU_NAME+','+convert(varchar,GRADE) as NameGrade,sequence
(select b.LESSON_NAME,c.STU_NAME,a.GRADE,row_number() over(order by a.GRADE Desc, c.STU_NAME asc) as sequence from score a
inner join lession b on (a.LESSION_ID = b.LESSION_ID)
inner join student c on (a.STU_ID = c.STU_ID) ) d
where sequence < 4
) e
group by LESSON_NAME
order by case(when LESSON_NAME = '语文' then 1,
when LESSON_NAME = '数学' then 2,
when LESSON_NAME = '英语' then 3,
when LESSON_NAME = '物理' then 4,
when LESSON_NAME = '化学' then 5,
else 9999 end)

大概就是这个样子,没执行,你自己再调试下 。
如果两个人相同分数,根据名字顺序排列

H. 面试的时候问你熟悉oracle数据库吗

如果是开发的话,那还是基于SQL这种语言的语法了,要多自己使用才能熟悉的。 对于oracle数据库来说,PL/SQL delelopment是重点,除了SQL,还要了解触发器trigger,存储过程procere,任务job,视图view等等。

I. 数据库面试题 有四个表Student表,Course表,Score表,Teacher表

1.
select 英语.学号
from Score 英语
left join
(
select 学号,课程代码,成绩
from Score where 课程代码='数学课程代码'
) as 数学
on 英语.学号=数学.学号
where 英语.课程代码='英语课程胡哪代码' and 英语.成绩>数学.成绩
2
select Student.学号,Student.姓名,AVG(成绩) as 平均成绩
from Score
left join Student on Student.学号 =Score.学号
group by Student.学号,Student.姓名
having AVG(Score.成绩)>30

3
select Student.学号,Student.姓名, ISNULL(选课_成绩.选课数,0) as 选课数,ISNULL(选课_成绩.总成绩,0) as 总成绩
from Student
left join
(
select 学号, COUNT(Score.课程代码) as 选课数,SUM(Score.成绩) as 总成绩
from Score group by 学号哗唤
) as 选课_成绩
on Student.学号= 选课_成绩裤芦码.学号

4
select a.学号,a.姓名 from Student as a
where a.学号 not in(
select distinct(Student.学号) as 学号
from Student
left join Score on Score.课程代码 =
(
select Course.课程代码 from Course
where Course.教师编号 =
(
select Teacher.教师编号 from Teacher
where Teacher.教师姓名='王军'
)
)
)
仅供学习参考

J. 数据库面试常问问题有哪些

1、什么是数据库事务

数据库事肢简务是构成单一逻辑工作单元的操作集合。数据库事务可以包括一个或多个数据库操作,但是这些操作构成一个逻辑上的整迅做体。

2、数据库事务的四个特性(ACID)

A:原子性,事务中的所有操作作为一个整体不可分割,要么全部操作要么全部不操作。

C:一致性,事务的执行结果必须使数据库从一历昌裤个一致性状态转为另一个一致性状态。一致性状态:1.系统状态满足数据库的完整性约束,2.系统的状态反映数据库所描述的现实世界的真实状态。

I:隔离性:并发执行的事务不会相互影响,其对数据库的影响和他们串行执行时一样。

D:持久性:事务一旦提交,对数据库的影响就是持久的。任何事务或系统故障都不会导致数据丢失。

3、什么是数据库连接泄露

数据库连接泄露指的是如果在某次使用或者某段程序中没有正确地关闭Connection、Statement和ResultSet资源,那么每次执行都会留下一些没有关闭的连接,这些连接失去了引用而不能得到重新使用,因此就造成了数据库连接的泄漏。数据库连接的资源是宝贵而且是有限的,如果在某段使用频率很高的代码中出现这种泄漏,那么数据库连接资源将被耗尽,影响系统的正常运转。

4、聚集索引

数据行的物理顺序与列值的顺序相同,如果我们查询id比较靠后的数据,那么这行数据的地址在磁盘中的物理地址也会比较靠后。而且由于物理排列方式与聚集索引的顺序相同,所以也就只能建立一个聚集索引了。

5、主键与外键

关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键。

外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。