1、CPU
3DNow!(3D no waiting)
ALU(Arithmetic Logic Unit,算术逻辑单元)
AGU(Address Generation Units,地址产成单元)
BGA(Ball Grid Array,球状矩阵排列)
BHT(branch prediction table,分支预测表)
BPU(Branch Processing Unit,分支处理单元)
Brach Pediction(分支预测)
CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)
CISC(Complex Instruction Set Computing,复杂指令集计算机)
CLK(Clock Cycle,时钟周期)
COB(Cache on board,板上集成缓存)
COD(Cache on Die,芯片内集成缓存)
CPGA(Ceramic Pin Grid Array,陶瓷针型栅格数组)
CPU(Center Processing Unit,中央处理器)
Data Forwarding(数据前送)
Decode(指令译码)
DIB(Dual Independent Bus,双独立总线)
EC(Embedded Controller,嵌入式控制器)
Embedded Chips(嵌入式处理器)
EPIC(explicitly parallel instruction code,并行指令代码)
FADD(Floationg Point Addition,浮点加)
FCPGA(Flip Chip Pin Grid Array,反转芯片针脚栅格数组)
FDIV(Floationg Point Divide,浮点除)
FEMMS(Fast Entry/Exit Multimedia State,快速进入/退出多媒体状态)
FFT(fast Fourier transform,快速热奥姆转换)
FID(FID:Frequency identify,频率鉴别号码)
FIFO(First Input First Output,先入先出队列)
flip-chip(芯片反转)
FLOP(Floating Point Operations Per Second,浮点操作/秒)
FMUL(Floationg Point Multiplication,浮点乘)
FPU(Float Point Unit,浮点运算单元)
FSUB(Floationg Point Subtraction,浮点减)
HL-PBGA(表面黏着,高耐热、轻薄型塑料球状矩阵封装)
IA(Intel Architecture,英特尔架构)
ICU(Instruction Control Unit,指令控制单元)
ID(identify,鉴别号码)
IDF(Intel Developer Forum,英特尔开发者论坛)
IEU(Integer Execution Units,整数执行单元)
IMM(Intel Mobile Module,英特尔移动模块)
Instructions Cache(指令缓存)
Instruction Coloring(指令分类)
IPC(Instructions Per Clock Cycle,指令/时钟周期)
ISA(instruction set architecture,指令集架构)
KNI(Katmai New Instructions,Katmai新指令集,即SSE)
Latency(潜伏期)
LDT(Lightning Data Transport,闪电数据传输总线)
Local Interconnect(局域互连)
MESI(Modified,Exclusive,Shared,Invalid:修改、排除、共享、废弃)
MMX(MultiMedia Extensions,多媒体扩展指令集)
MMU(Multimedia Unit,多媒体单元)
MFLOPS(Million Floationg Point/Second,每秒百万个浮点操作)
MHz(Million Hertz,兆赫兹)
MP(Multi-Processing,多重处理器架构)
MPS(MultiProcessor Specification,多重处理器规范)
MSRs(Model-Specific Registers,特别模块寄存器)
NAOC(no-account OverClock,无效超频)
NI(Non-Intel,非英特尔)
OLGA(Organic Land Grid Array,基板栅格数组)
OoO(Out of Order,乱序执行)
PGA(Pin-Grid Array,引脚网格数组,耗电大)
PR(Performance Rate,性能比率)
PSN(Processor Serial numbers,处理器序列号)
PIB(Processor In a Box,盒装处理器)
PPGA(Plastic Pin Grid Array,塑料针状矩阵封装)
PQFP(Plastic Quad Flat Package,塑料方块平面封装)
RAW(Read after Write,写后读)
Register Contention(抢占寄存器)
Register Pressure(寄存器不足)
Register Renaming(寄存器重命名)
Remark(芯片频率重标识)
Resource contention(资源冲突)
Retirement(指令引退)
RISC(Reduced Instruction Set Computing,精简指令集计算机)
SEC(Single Edge Connector,单边连接器)
Shallow-trench isolation(浅槽隔离)
SIMD(Single Instruction Multiple Data,单指令多数据流)
SiO2F(Fluorided Silicon Oxide,二氧氟化硅)
SMI(System Management Interrupt,系统管理中断)
SMM(System Management Mode,系统管理模式)
SMP(Symmetric Multi-Processing,对称式多重处理架构)
SOI(Silicon-on-insulator,绝缘体硅片)
SONC(System on a chip,系统集成芯片)
SPEC(System Performance Evaluation Corporation,系统性能评估测试)
SQRT(Square Root Calculations,平方根计算)
SSE(Streaming SIMD Extensions,单一指令多数据流扩展)
Superscalar(超标量体系结构)
TCP(Tape Carrier Package,薄膜封装,发热小)
Throughput(吞吐量)
TLB(Translate Look side Buffers,翻译旁视缓冲器)
USWC(Uncacheabled Speculative Write Combination,无缓冲随机联合写操作)
VALU(Vector Arithmetic Logic Unit,向量算术逻辑单元)
VLIW(Very Long Instruction Word,超长指令字)
VPU(Vector Permutate Unit,向量排列单元)
VPU(vector processing units,向量处理单元,即处理MMX、SSE等SIMD指令的地方)
2、主板
ADIMM(advanced Dual In-line Memory Modules,高级双重内嵌式内存模块)
AMR(Audio/Modem Riser;音效/调制解调器主机板附加直立插卡)
AHA(Accelerated Hub Architecture,加速中心架构)
ASK IR(Amplitude Shift Keyed Infra-Red,长波形可移动输入红外线)
ATX(AT Extend,扩展型AT)
BIOS(Basic Input/Output System,基本输入/输出系统)
CSE(Configuration Space Enable,可分配空间)
DB(Device Bay,设备插架)
DMI(Desktop Management Interface,桌面管理接口)
EB(Expansion Bus,扩展总线)
EISA(Enhanced Industry Standard Architecture,增强形工业标准架构)
EMI(Electromagnetic Interference,电磁干扰)
ESCD(Extended System Configuration Data,可扩展系统配置数据)
FBC(Frame Buffer Cache,帧缓冲缓存)
FireWire(火线,即IEEE1394标准)
FSB(Front Side Bus,前置总线,即外部总线)
FWH( Firmware Hub,固件中心)
GMCH(Graphics &Memory Controller Hub,图形和内存控制中心)
GPIs(General Purpose Inputs,普通操作输入)
ICH(Input/Output Controller Hub,输入/输出控制中心)
IR(infrared ray,红外线)
IrDA(infrared ray,红外线通信接口可进行局域网存取和档共享)
ISA(Industry Standard Architecture,工业标准架构)
ISA(instruction set architecture,工业设置架构)
MDC(Mobile Daughter Card,移动式子卡)
MRH-R(Memory Repeater Hub,内存数据处理中心)
MRH-S(SDRAM Repeater Hub,SDRAM数据处理中心)
MTH(Memory Transfer Hub,内存转换中心)
NGIO(Next Generation Input/Output,新一代输入/输出标准)
P64H(64-bit PCI Controller Hub,64位PCI控制中心)
PCB(printed circuit board,印刷电路板)
PCBA(Printed Circuit Board Assembly,印刷电路板装配)
PCI(Peripheral Component Interconnect,互连外围设备)
PCI SIG(Peripheral Component Interconnect Special Interest Group,互连外围设备专业组)
POST(Power On Self Test,加电自测试)
RNG(Random number Generator,随机数字发生器)
RTC(Real Time Clock,实时时钟)
KBC(KeyBroad Control,键盘控制器)
SBA(Side Band Addressing,边带寻址)
SMA(Share Memory Architecture,共享内存结构)
STD(Suspend To Disk,磁盘唤醒)
STR(Suspend To RAM,内存唤醒)
SVR(Switching Voltage Regulator,交换式电压调节)
USB(Universal Serial Bus,通用串行总线)
USDM(Unified System Diagnostic Manager,统一系统监测管理器)
VID(Voltage Identification Definition,电压识别认证)
VRM (Voltage Regulator Module,电压调整模块)
ZIF(Zero Insertion Force,零插力)
主板技术
技嘉
ACOPS: Automatic CPU OverHeat Prevention System(CPU过热预防系统)
SIV: System Information Viewer(系统信息观察)
盘英
ESDJ(Easy Setting Dual Jumper,简化CPU双重跳线法)
浩鑫
UPT(USB、PANEL、LINK、TV-OUT四重界面)
芯片组
ACPI(Advanced Configuration and Power Interface,先进设置和电源管理)
AGP(Accelerated Graphics Port,图形加速接口)
I/O(Input/Output,输入/输出)
MIOC(Memory and I/O Bridge Controller,内存和I/O桥控制器)
NBC(North Bridge Chip,北桥芯片)
PIIX(PCI ISA/IDE Accelerator,加速器)
PSE36(Page Size Extension 36-bit,36位页面尺寸扩展模式)
PXB(PCI Expander Bridge,PCI增强桥)
RCG(RAS/CAS Generator,RAS/CAS发生器)
SBC(South Bridge Chip,南桥芯片)
SMB(System Management Bus,全系统管理总线)
SPD(Serial Presence Detect,内存内部序号检测装置)
SSB(Super South Bridge,超级南桥芯片)
TDP(Triton Data Path,数据路径)
TSC(Triton System Controller,系统控制器)
QPA(Quad Port Acceleration,四界面加速)
3、显示设备
ASIC(Application Specific Integrated Circuit,特殊应用集成电路)
ASC(Auto-Sizing and Centering,自动调效屏幕尺寸和中心位置)
BLA(Bearn Landing Area,电子束落区)
CRC(Cyclical Redundancy Check,循环冗余检查)
CRT(Cathode Ray Tube,阴极射线管)
DDC(Display Data Channel,显示数据信道)
DFL(Dynamic Focus Lens,动态聚焦)
DFS(Digital Flex Scan,数字伸缩扫描)
DIC(Digital Image Control,数字图像控制)
Digital Multiscan II(数字式智能多频追踪)
DLP(digital Light Processing,数字光处理)
DOSD(Digital On Screen Display,同屏数字化显示)
DPMS(Display Power Management Signalling,显示能源管理信号)
DQL(Dynamic Quadrapole Lens,动态四极镜)
DSP(Digital Signal Processing,数字信号处理)
EFEAL(Extended Field Elliptical Aperture Lens,可扩展扫描椭圆孔镜头)
FRC(Frame Rate Control,帧比率控制)
LCD(liquid crystal display,液晶显示屏)
LCOS(Liquid Crystal On Silicon,硅上液晶)
LED(light emitting diode,光学二级管)
L-SAGIC(Low Power-Small Aperture G1 wiht Impregnated Cathode,低电压光圈阴极管)
LVDS(Low Voltage Differential Signal,低电压差动信号)
MALS(Multi Astigmatism Lens System,多重散光聚焦系统)
MDA(Monochrome Adapter,单色设备)
MS(Magnetic Sensors,磁场感应器)
Porous Tungsten(活性钨)
RSDS(Reduced Swing Differential Signal,小幅度摆动差动信号)
Shadow Mask(阴罩式)
TDT(Timeing Detection Table,资料测定表)
TICRG(Tungsten Impregnated Cathode Ray Gun,钨传输阴级射线枪)
TFT(thin film transistor,薄膜晶体管)
VAGP(Variable Aperature Grille Pitch,可变间距光栅)
VBI(Vertical Blanking Interval,垂直空白间隙)
VDT(Video Display Terminals,视频显示终端)
VRR(Vertical Refresh Rate,垂直扫描频率)
4、视频
3D(Three Dimensional,三维)
3DS(3D SubSystem,三维子系统)
AE(Atmospheric Effects,雾化效果)
AFR(Alternate Frame Rendering,交替渲染技术)
Anisotropic Filtering(各向异性过滤)
APPE(Advanced Packet Parsing Engine,增强形帧解析引擎)
AV(Analog Video,模拟视频)
Back Buffer(后置缓冲)
Backface culling(隐面消除)
Battle for Eyeballs(眼球大战,各3D图形芯片公司为了争夺用户而作的竞争)
Bilinear Filtering(双线性过滤)
CG(Computer Graphics,计算机生成图像)
Clipping(剪贴纹理)
Clock Synthesizer(时钟合成器)
compressed textures(压缩纹理)
Concurrent Command Engine(协作命令引擎)
Center Processing Unit Utilization(中央处理器占用率)
DAC(Digital to Analog Converter,数模传换器)
Decal(印花法,用于生成一些半透明效果,如:鲜血飞溅的场面)
DFP(Digital Flat Panel,数字式平面显示器)
DFS: Dynamic Flat Shading(动态平面描影,可用作加速)
Dithering(抖动)
Directional Light(方向性光源)
DME: Direct Memory Execute(直接内存执行)
DOF(Depth of Field,多重境深)
dot texture blending(点型纹理混和)
Double Buffering(双缓冲区)
DIR(Direct Rendering Infrastructure,基层直接渲染)
DVI(Digital Video Interface,数字视频接口)
DxR(DynamicXTended Resolution,动态可扩展分辨率)
DXTC(Direct X Texture Compress,DirectX纹理压缩,以S3TC为基础)
Dynamic Z-buffering(动态Z轴缓冲区),显示物体远近,可用作远景
E-DDC(Enhanced Display Data Channel,增强形视频数据信道协议,定义了显示输出与主系统之间的通讯信道,能提高显示输出的画面质量)
Edge Anti-aliasing(边缘抗锯齿失真)
E-EDID(Enhanced Extended Identification Data,增强形扩充身份辨识数据,定义了计算机通讯视频主系统的数据格式)
Execute Buffers(执行缓冲区)
environment mapped bump mapping(环境凹凸映射)
Extended Burst Transactions(增强式突发处理)
Front Buffer(前置缓冲)
Flat(平面描影)
Frames rate is King(帧数为王)
FSAA(Full Scene Anti-aliasing,全景抗锯齿失真)
Fog(雾化效果)
flip double buffered(反转双缓存)
fog table quality(雾化表画质)
GART(Graphic Address Remappng Table,图形地址重绘表)
Gouraud Shading(高洛德描影,也称为内插法均匀涂色)
GPU(Graphics Processing Unit,图形处理器)
GTF(Generalized Timing Formula,一般程序时间,定义了产生画面所需要的时间,包括了诸如画面刷新率等)
HAL(Hardware Abstraction Layer,硬件抽像化层)
hardware motion compensation(硬件运动补偿)
HDTV(high definition television,高清晰度电视)
HEL: Hardware Emulation Layer(硬件模拟层)
high triangle count(复杂三角形计数)
5、音频
3DPA(3D Positional Audio,3D定位音频)
AC(Audio Codec,音频多媒体数字信号编译码器)
Auxiliary Input(辅助输入接口)
CS(Channel Separation,声道分离)
DS3D(DirectSound 3D Streams)
DSD(Direct Stream Digital,直接数字信号流)
DSL(Down Loadable Sample,可下载的取样音色)
DLS-2(Downloadable Sounds Level 2,第二代可下载音色)
EAX(Environmental Audio Extensions,环境音效扩展技术)
FM(Frequency Modulation,频率调制)
FR(Frequence Response,频率响应)
FSE(Frequency Shifter Effect,频率转换效果)
HRTF(Head Related Transfer Function,头部关联传输功能)
IAS(Interactive Around-Sound,交互式环绕声)
MIDI(Musical Instrument Digital Interface,乐器数字接口)
NDA(non-DWORD-aligned ,非DWORD排列)
Raw PCM: Raw Pulse Code Modulated(元脉码调制)
RMA(RealMedia Architecture,实媒体架构)
RTSP(Real Time Streaming Protocol,实时流协议)
SACD(Super Audio CD,超级音乐CD)
SNR(Signal to Noise Ratio,信噪比)
S/PDIF(Sony/Phillips Digital Interface,索尼/飞利普数字接口)
SRS(Sound Retrieval System,声音修复系统)
Super Intelligent Sound ASIC(超级智慧音频集成电路)
THD+N(Total Harmonic Distortion plus Noise,总谐波失真加噪音)
QEM(QSound Environmental Modeling,QSound环境建模)
WG(Wave Guide,波导合成)
WT(Wave Table,波表合成)
6、RAM&ROM
ABP(Address Bit Permuting,地址位序列改变)
ATC(Access Time from Clock,时钟存取时间)
BSRAM(Burst pipelined synchronous static RAM,突发式管道同步静态内存)
CAS(Column Address Strobe,列地址控制器)
CCT(Clock Cycle Time,时钟周期)
DB(Deep Buffer,深度缓冲)
DDR SDRAM(Double Date Rate,双数据率SDRAM)
DIL(dual-in-line)
DIMM(Dual In-line Memory Modules,双重内嵌式内存模块)
DRAM(Dynamic Random Access Memory,动态随机内存)
DRDRAM(Direct RAMbus DRAM,直接RAMbus内存)
ECC(Error Checking and Correction,错误检查修正)
EEPROM(Electrically Erasable Programmable ROM,电擦写可编程只读存储器)
FM(Flash Memory,闪存)
FMD ROM (Fluorescent Material Read Only Memory,荧光质只读存储器)
PIROM(Processor Information ROM,处理器信息ROM)
PLEDM(Phase-state Low Electron(hole)-number Drive Memory)
RAC(Rambus Asic Cell,Rambus集成电路单元)
RAS(Row Address Strobe,行地址控制器)
RDRAM(Rambus Direct RAM,直接型RambusRAM)
DIMM(RAMBUS In-line Memory Modules,RAMBUS内嵌式内存模块)
SDR SDRAM(Single Date Rate,单数据率SDRAM)
SGRAM(synchronous graphics RAM,同步图形随机储存器)
SO-DIMM(Small Outline Dual In-line Memory Modules,小型双重内嵌式内存模块)
SPD(Serial Presence Detect,串行存在检查)
SRAM(Static Random Access Memory,静态随机内存)
SSTL-2(Stub Series Terminated Logic-2)
TSOPs(thin small outline packages,超小型封装)
USWV(Uncacheable,Speculative,Write-Combining非缓冲随机混合写入)
VCMA(Virtual Channel Memory architecture,虚拟信道内存结构)
7、磁盘
AAT(Average access time,平均存取时间)
ABS(Auto Balance System,自动平衡系统)
ASMO(Advanced Storage Magneto-Optical,增强形光学内存)
AST(Average Seek time,平均寻道时间)
ATA(AT Attachment,AT扩展型)
ATOMM(Advanced super Thin-layer and high-Output Metal Media,增强形超薄高速金属媒体)
bps(bit per second,位/秒)
CSS(Common Command Set,通用指令集)
DMA(Direct Memory Access,直接内存存取)
DVD(Digital Video Disk,数字视频光盘)
EIDE(enhanced Integrated Drive Electronics,增强形电子集成驱动器)
FAT(File Allocation Tables,文件分配表)
FDBM(Fluid dynamic bearing motors,液态轴承马达)
FDC(Floppy Disk Controller,软盘驱动器控制装置)
FDD(Floppy Disk Driver,软盘驱动器)
GMR(giant magnetoresistive,巨型磁阻)
HDA(head disk assembly,磁头集合)
HiFD(high-capacity floppy disk,高容量软盘)
IDE(Integrated Drive Electronics,电子集成驱动器)
LBA(Logical Block Addressing,逻辑块寻址)
MBR(Master Boot Record,主引导记录)
MTBF(Mean Time Before Failure,平均故障时间)
PIO(Programmed Input Output,可编程输入输出模式)
PRML(Partial Response Maximum Likelihood,最大可能部分反应,用于提高磁盘读写传输率)
RPM(Rotation Per Minute,转/分)
RSD(Removable Storage Device,移动式存储设备)
SCSI(Small Computer System Interface,小型计算机系统接口)
SCMA(SCSI Configured Auto Magically,SCSI自动配置)
S.M.A.R.T.(Self-Monitoring, Analysis and Reporting Technology,自动监测、分析和报告技术)
SPS(Shock Protection System,抗震保护系统)
Ultra DMA(Ultra Direct Memory Access,超高速直接内存存取)
LVD(Low Voltage Differential)
Seagate硬盘技术
DiscWizard(磁盘控制软件)
DST(Drive Self Test,磁盘自检程序)
SeaShield(防静电防撞击外壳)
8、光驱
ATAPI(AT Attachment Packet Interface)
BCF(Boot Catalog File,启动目录文件)
BIF(Boot Image File,启动映射档)
CDR(CD Recordable,可记录光盘)
CD-ROM/XA(CD-ROM eXtended Architecture,只读光盘增强形架构)
CDRW(CD-Rewritable,可重复刻录光盘)
CLV(Constant Linear Velocity,恒定线速度)
DAE(digital Audio Extraction,资料音频抓取)
DDSS(Double Dynamic Suspension System,双悬浮动态减震系统)
DDSS II(Double Dynamic Suspension System II,第二代双层动力悬吊系统)
PCAV(Part Constant Angular Velocity,部分恒定角速度)
VCD(Video CD,视频CD)
9、打印机
AAS(Automatic Area Seagment?)
dpi(dot per inch,每英寸的打印像素)
ECP(Extended Capabilities Port,延长能力埠)
EPP(Enhanced Parallel Port,增强形并行接口)
IPP(Internet Printing Protocol,因特网打印协议)
ppm(paper per minute,页/分)
SPP(Standard Parallel Port,标准并行口)
TET(Text Enhanced Technology,文本增强技术)
USBDCDPD(Universal Serial Bus Device Class Definition for Printing Devices,打印设备的通用串行总线级标准)
VD(Variable Dot,变点式打印)
10、扫描仪
TWAIN(Toolkit Without An Interesting Name,协议)
一、三个世界1、现实世界 人们管理的对象存于现实世界中。现实世界的事物及事物之间存在着联系,这种联系是客观存在的,是由事物本身的性质决定的。例如学校的教学系统中有教师、学生、课程,教师为学生授课,学生选修课程并取得成绩。
2、概念世界 概念世界是现实世界在人们头脑中的反映,是对客观事物及其联系的一种抽象描述,从而产生概念模型。概念模型是现实世界到机器世界必然经过的中间层次。涉及到下面几个术语:
实体:我们把客观存在并且可以相互区别的事物称为实体。实体可以是实际事物,也可以是抽象事件。如一个职工、一场比赛等。
实体集:同一类实体的集合称为实体集。如全体职工。注意区分"型"与"值"的概念。如每个职工是职工实体"型"的一个具体"值"。
属性:描述实体的特性称为属性。如职工的职工号,姓名,性别,出生日期,职称等。
关键字:如果某个属性或属性组合的值能唯一地标识出实体集中的每一个实体,可以选作关键字。用作标识的关键字,也称为码。如"职工号"就可作为关键字。
联系:实体集之间的对应关系称为联系,它反映现实世界事物之间的相互关联。联系分为两种,一种是实体内部各属性之间的联系。另一种是实体之间的联系。
3、机器世界 存入计算机系统里的数据是将概念世界中的事物数据化的结果。为了准确地反映事物本身及事物之间的各种联系,数据库中的数据必须有一定的结构,这种结构用数据模型来表示。数据模型将概念世界中的实体,及实体间的联系进一步抽象成便于计算机处理的方式。
数据模型应满足三方面要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。数据结构、数据操作和完整性约束是构成数据模型的三要素。数据模型主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模,用于DBMS的实现。
关系数据库采用关系模型作为数据的组织方式。 关系数据库因其严格的数学理论、使用简单灵活、数据独立性强等特点,而被公认为最有前途的一种数据库管理系统。它的发展十分迅速,目前已成为占据主导地位的数据库管理系统。自20世纪80年代以来,作为商品推出的数据库管理系统几乎都是关系型的,例如,Oracle,Sybase,Informix,Visual FoxPro等。
网络数据库也叫Web数据库。促进Internet发展的因素之一就是Web技术。由静态网页技术的HTML到动态网页技术的CGI、ASP、PHP、JSP等,Web技术经历了一个重要的变革过程。Web已经不再局限于仅仅由静态网页提供信息服务,而改变为动态的网页,可提供交互式的信息查询服务,使信息数据库服务成为了可能。Web数据库就是将数据库技术与Web技术融合在一起,使数据库系统成为Web的重要有机组成部分,从而实现数据库与网络技术的无缝结合。这一结合不仅把Web与数据库的所有优势集合在了一起,而且充分利用了大量已有数据库的信息资源。图1-1是Web数据库的基本结构图,它由数据库服务器(Database Server)、中间件(Middle Ware)、Web服务器(Web Server)、浏览器(Browser)4部分组成。
Web数据库的基本结构
它的工作过程可简单地描述成:用户通过浏览器端的操作界面以交互的方式经由Web服务器来访问数据库。用户向数据库提交的信息以及数据库返回给用户的信息都是以网页的形式显示。
1.1.1 Internet技术与相关协议
Internet技术在Web数据库技术中扮演着重要的角色。Internet(因特网)专指全球最大的、开放的、由众多网络相互连接而成的计算机网络,并通过各种协议在计算机网络中传递信息。TCP/IP协议是Internet上使用的两个最基本的协议。因此也可以说Internet是全球范围的基于分组交换原理和TCP/IP协议的计算机网络。它将信息进行分组后,以数据包为单位进行传输。Internet在进行信息传输时,主要完成两项任务。
(1)正确地将源信息文件分割成一个个数据包,并能在目的地将源信息文件的数据包再准确地重组起来。
(2)将数据包准确地送往目的地。
TCP/IP协议的作用就是为了完成上述两项任务,规范了网络上所有计算机之间数据传递的方式与数据格式,提供了数据打包和寻址的标准方法。
1.TCP/IP协议
TCP协议(Transmission Control Protocol,传输控制协议)规定了分割数据和重组数据所要遵循的规则和要进行的操作。TCP协议能保证数据发送的正确性,如果发现数据有损失,TCP将重新发送数据。
2.IP协议
在Internet上传送数据往往都是远距离的,因此在传输过程中要通过路由器一站一站的转接来实现。路由器是一种特殊的计算机,它会检测数据包的目的地主机地址,然后决定将该数据包送往何处。IP协议(Internet Protocol,网际协议)给Internet中的每一台计算机规定了一个地址,称为IP地址。IP地址的标准是由4部分组成(例如202.112.203.11),其中前两部分规定了当前使用网络的管理机构,第3部分规定了当前使用的网络地址,第4部分规定了当前使用的计算机地址。
Internet上提供的主要服务有E-mail、FTP、BBS、Telnet、WWW等。其中WWW(World Wide Web,万维网)由于其丰富的信息资源而成为Internet最为重要的服务。
3.HTTP协议
HTTP协议(Hypertext Transfer Protocol,超文本传输协议)应用在WWW上,其作用是完成客户端浏览器与Web服务器端之间的HTML数据传输。
1.1.2 Web的工作原理与工作步骤
万维网简称为Web。Web可以描述为在Internet上运行的、全球的、交互的、动态的、跨平台的、分布式的、图形化的超文本信息系统。
1.Web的工作原理
Web是伴随着Internet技术而产生的。在计算机网络中,对于提供Web服务的计算机称为Web服务器。Web采用浏览器/服务器的工作方式。每个Web服务器上都放置着大量的Web信息。Web信息的基本单位是Web页(网页),多个网页组成了一个Web节点。每个Web节点的起始页称为“主页”,且拥有一个URL地址(统一资源定位地址)。Web节点之间及网页之间都是以超文本结构(非线性的网状结构)来进行组织的。
2.Web的工作步骤
Web的工作步骤如下。
(1)用户打开客户端计算机中的浏览器软件(例如Internet Explorer)。
(2)用户输入要启动的Web主页的URL地址,浏览器将生成一个HTTP请求。
(3)浏览器连接到指定的Web服务器,并发送HTTP请求。
(4)Web服务器接到HTTP请求,根据请求的内容不同作相应的处理,再将网页以HTML文件格式发回给浏览器。
(5)浏览器将网页显示到屏幕上.
图1-2 Web的工作步骤
1.1.3 WWW世界中的标记语言
1.HTML语言
HTML(Hypertext Markup Language,超文本标记语言)是创建网页的计算机语言。所谓网页实际上就是一个HTML文档。文档内容由文本和HTML标记组成。HTML文档的扩展名就是.html或.htm。浏览器负责解释HTML文档中的标记,并将HTML文档显示成网页。
(1)HTML标记
HTML标记的作用是告诉浏览器网页的结构和格式。每一个标记用尖括号<>括起来。大多数标记都有一个开始标记和一个结束标记。标记不分大小写。多数标记都带有自己的属性。例如字体标记<FONT>有FACE、COLOR、SIZE等属性:FACE定义字体;COLOR定义字体的颜色;SIZE定义字体的大小。
使用格式:<FONT FACE= SONG SIZE=3 COLOR=RED >BEIJING </FONT>。
网页中有很多文本链接和图片链接。链接,又被称为超链接,用于链接到WWW万维网中的其他网页上。在HTML文档中表示超链接的标记是<A>,通过属性HREF指出链接的网页地址URL。
使用格式:<A HREF=http://www.bigc.edu.cn/ >BEIJING </A>。
(2)HTML程序
HTML程序必须以<HTML>标记开始,以</HTML>标记结束。在<HTML>和</HTML>标记之间主要由两部分组成:文件头和文件体。文件头用标记<HEAD></HEAD>来标识,文件体用标记<BODY></BODY>来标识。在文件的头部通常包含整个网页的一些信息。例如<TITLE></TITLE>标记是用来说明网页的名称;<META></META>标记是用来说明网页的其他信息,如设计者姓名和版权信息等。所有在浏览器中要显示的内容称为网页的主体,必须放在<BODY></BODY>标记中。下面给出的是一个空网页的HTML程序。
<HTML>
<HEAD>
<TITLE>(在此标记中写网页的标题)</TITLE>
</HEAD>
<BODY>
(在此标记中写网页的内容)
</BODY>
</HTML>
(3)HTML规范
HTML规范又称为HTML标准,它总在不断地发展。每一新版本的出现,HTML都会增加新的特性和内容。有关HTML版本的详细信息请访问www.w3.org网站。
在不同的浏览器中,网页的显示效果可能会有所不同。每一个浏览器都使用自己独特的方式解释HTML文档中的标记,并且多数浏览器不完全支持HTML的所有特性。因为,像Microsoft和Netscape公司在HTML标准上又开发了一些特有的HTML标记和属性,称之为HTML的扩展。这些标记和属性只被他们自己的浏览器所识别,不可能被其他公司的浏览器识别。如果浏览器不能识别HTML文档中的标记,则会忽略这个标记。
(4)HTML程序的编辑环境与运行环境
HTML文档是一个普通的文本文件(ASCII),不包含任何与平台、程序有关的信息。因此HTML文档可以利用任何文本编辑器来方便地生成。要注意的是HTML文档的扩展名必须是.html或.htm。运行HTML文档可以在任何浏览器下进行,并可在浏览器上查看网页的HTML源代码。
关于HTML语言中标记的种类与使用方法将会在第5章中更详细地进行介绍。
2.可扩展标记语言(XML)
HTML是Web上的通用语言,随着Internet的深入人心,WWW上的Web文件日益复杂化、多样化,人们开始感到了HTML这种固定格式的标记语言的不足。1996年W3C开始对HTML的后续语言进行研究,并于1998年正式推出了XML(Extensible Markup Language,可扩展标记语言)。在设计网页时,XML提供了比HTML更灵活的方法。
(1)XML语言的特点
XML是国际组织W3C为适应WWW的应用,将SGML (Standard Generalized Markup Language)标准进行简化形成的元标记语言。简单地说,XML是使用标记来描述内容或与内容相关的形式信息的通用语言。一个XML文档由标记和字符数据组成。
而作为元标记语言,XML不再使标记固定,允许网页的设计者定义数量不限的标记来描述内容,同时还允许设计者创建自己的使用规则。
(2)XML的DTD
DTD(Document Type Definition,文档类型定义)是一组应用在XML文档中的自定义标记语言的技术规范。DTD中定义了标记的含义及关于标记的语法规则。语法规则中确定了在XML文档中使用哪些标记符,它们应该按什么次序出现,标记符之间如何 嵌套,哪些标记符有属性等等。DTD可以包含在它所描述的XML文档中,但通常它是一份单独的文档或者一系列文档。作为外部文件可通过URL链接,被不同的XML文档 共享。
XML把DTD的定义权开放,不同行业可以根据自己的实际需求定义描述内容的DTD,以适应本行业内部的信息交流和存档需要。因此,适合于不同行业、不同平台的标记语言大批涌现。
(3)XML的CSS与XSL
强调内容描述与形式描述的分离,一方面可以使XML文件的编写者更集中精力于数据本身,而不受显示方式的细节影响;另一方面允许为相同的数据定义不同的显示方式,从而适合于不同应用、不同媒体,使XML数据得到最大程度的重用。XML文档数据的显示形式是通过样式单定义的。CSS(Cascading Style Sheets)是XML使用的一种标准的级联样式单,XSL(Extensible Style Language)则是可扩展的样式语言。
由于XML允许用户创建任何所需的标记,而通用浏览器却既无法预期用户标记的意义,又无法为显示这些标记而提供规则,因此用户必须为自己创建的XML文档编写样式单,样式单可以实现共享。
浏览器对一个XML文档的处理过程是,首先去关联它所指定的样式单文件,如果该样式单是一个XSL文件,则按照规定对XML数据进行转换然后再显示,XSL本身也是基于XML语言的,可以将XML转化为HTML后再显示。如果该样式单是一个CSS文件,浏览器就会按照样式单的规定给每个标记赋予一组样式后再显示。
1.2 Web数据库访问技术
Web数据库访问技术通常是通过三层结构来实现的,如图1-3所示。目前建立与Web数据库连接访问的技术方法可归纳为CGI技术,ODBC技术和ASP、JSP、PHP 技术。
Web数据库访问的三层结构
1.2.1 CGI技术
CGI(Common Cateway Interface,通用网关界面)是一种Web服务器上运行的基于Web浏览器输入程序的方法,是最早的访问数据库的解决方案。CGI程序可以建立网页与数据库之间的连接,将用户的查询要求转换成数据库的查询命令,然后将查询结果通过网页返回给用户。一个CGI工作的基本原理如图1-4所示。
CGI程序需要通过一个接口才能访问数据库。这种接口多种多样,数据库系统对CGI程序提供了各种数据库接口如Perl、C/C++、VB等。为了使用各种数据库系统,CGI程序支持ODBC方式,通过ODBC接口访问数据库。
CGI工作流程
1.2.2 ODBC技术
ODBC(Open Database Connectivity,开放数据库互接)是一种使用SQL的应用程序接口(API)。ODBC最显著的优点就是它生成的程序与数据库系统无关,为程序员方便地编写访问各种DBMS的数据库应用程序提供了一个统一接口,使应用程序和数据库源之间完成数据交换。ODBC的内部结构为4层:应用程序层、驱动程序管理器层、驱动程序层、数据源层。它们之间的关系如图1-5所示。由于ODBC适用于不同的数据库产品,因此许多服务器扩展程序都使用了包含ODBC层的系统结构。
ODBC的内部结构
Web服务器通过ODBC数据库驱动程序向数据库系统发出SQL请求,数据库系统接收到的是标准SQL查询语句,并将执行后的查询结果再通过ODBC传回Web服务器,Web服务器将结果以HTML网页传给Web浏览器,工作原理如图1-6所示。
Web服务器通过ODBC访问数据库
由于Java语言所显示出来的编程优势赢得了众多数据库厂商的支持。在数据库处理方面,Java提供的JDBC为数据库开发应用提供了标准的应用程序编程接口。与ODBC类似,JDBC也是一种特殊的API,是用于执行SQL语句的Java应用程序接口。它规定了Java如何与数据库之间交换数据的方法。采用Java和JDBC编写的数据库应用程序具有与平台无关的特性。
1.2.3 ASP、JSP、PHP技术
ASP是Microsoft开发的动态网页技术,主要应用于Windows NT+IIS或 Windows 9x+PWS平台。确切地说ASP不是一种语言,而是Web服务器端的开发环境。利用ASP可以产生和运行动态的、交互的、高性能的Web服务应用程序。ASP支持多种脚本语言,除了VBScript和Pscript,也支持Perl语言,并且可以在同一ASP文件中使用多种脚本语言以发挥各种脚本语言的最大优势。但ASP默认只支持VBScript和Pscript,若要使用其他脚本语言,必须安装相应的脚本引擎。ASP支持在服务器端调用ActiveX组件ADO对象实现对数据库的操作。在具体的应用中,若脚本语言中有访问数据库的请求,可通过ODBC与后台数据库相连,并通过ADO执行访问库的操作。关于ASP的编程技术将会在第7章中详细介绍。
JSP是Sun公司推出的新一代Web开发技术。作为Java家族的一员,几乎可以运行在所有的操作系统平台和Web服务器上,因此JSP的运行平台更为广泛。目前JSP支持的脚本语言只有Java。JSP使用JDBC实现对数据库的访问。目标数据库必须有一个JDBC的驱动程序,即一个从数据库到Java的接口,该接口提供了标准的方法使Java应用程序能够连接到数据库并执行对数据库的操作。JDBC不需要在服务器上创建数据源,通过JDBC、JSP就可以实现SQL语句的执行。
PHP是Rasmus Lerdorf推出的一种跨平台的嵌入式脚本语言,可以在Windows、UNIX、Linux等流行的操作系统和IIS、Apache、Netscape等Web服务器上运行,用户更换平台时,无需变换PHP代码。PHP是通过Internet合作开发的开放源代码软件,它借用了C、Java、Perl语言的语法并结合PHP自身的特性,能够快速写出动态生成页面。PHP可以通过ODBC访问各种数据库,但主要通过函数直接访问数据库。PHP支持目前绝大多数的数据库,提供许多与各类数据库直接互连的函数,包括Sybase、Oracle、SQL Server等,其中与SQL Server数据库互连是最佳组合。
1.3 网络数据库应用系统的层次体系
当前,Internet/Intranet技术发展异常迅速,越来越多的数据库应用软件运行在Internet/Intranet环境下。在此之前,数据库应用系统的发展经历了单机结构、集中式结构、客户机/服务器(C/S)结构之后,随着Internet的普及,又出现了浏览器/服务器(B/S)结构与多层结构。在构造一个应用系统时,首先考虑的是系统的体系结构,采用哪种结构取决于系统的网络环境、应用需求等因素。
1.3.1 客户机/服务器结构
1.二层C/S结构
二层C/S结构是当前非常流行的数据库系统结构,在这种结构中,客户机提出请求,服务器对客户机的服务请求做出回答。它把界面和数据处理操作分开在前端(客户端)和后端(服务器端),这个主要特点使得C/S系统的工作速度主要取决于进行大量数据操作的服务器,而不是前端的硬件设备;同时也大大降低了对网络传输速度的要求,因为只须客户端把服务请求发送给数据库服务器,数据库服务器只把服务结果传回前端,如图1-7所示。
在设计时,对数据可能有如下不同的处理形式。
(1)在处理时,客户机先向服务器索取数据,然后释放数据库,即客户机发出的是文件请求,在客户机端处理数据,最后将结果送回服务器。这种处理方式的缺点很明显:所有的应用处理都在客户端完成,这就要求客户端的计算机必须有足够的能力,以便执行需要的任何程序。更为糟糕的是,由于所有的处理均在客户端完成,每次运行时都要将文件整体传送到客户端,然后才能执行。如:Student表中有30 000条记录,客户端发出命令:
Select * From Student Where Sno='200101'
这条命令将要求服务器将Student表中的所有记录传送到客户端,然后在客户端执行查询,结果只用到一条记录;如果查询的记录不存在,网络传输的数据实际上是无 用的。如此大的数据传输量是不可想象的。因此,人们提出了在服务器中能够执行部分代码的客户机/服务器结构。
(2)在处理时,客户机接受用户要求,并发给服务器;在服务器端处理用户要求,最后将结果传回客户机显示或打印。这种处理方式网络通信量较小。客户机向服务器发出的是处理请求,而不是文件请求,处理请求中的代码在服务器端执行后向客户机传送处理后的结果。
这样,为了特定任务,客户机上的程序和服务器上的程序协同工作:客户机端的代码用于完成用户的输入输出及数据的检查,而服务器端的代码完成对数据库的操作。
客户机/服务器结构的另一个主要特点在于软件、硬件平台的无关性。数据库服务器上的数据库管理系统集中负责管理数据,它向客户端提供一个开放的使用环境,客户端通过数据库接口,如ODBC(开放数据库连接)和SQL语言访问数据库,也就是说,不管客户端采用什么样的硬件和软件,它只要能够通过网络和数据库接口程序连接到服务器,就可对数据库进行访问。
在客户机/服务器结构中,常把客户机称为前台,而把服务器端称为后台。前台应用程序的功能包括用户界面、接收用户数据、处理应用逻辑、向后台发出请求、同时接收后台返回的结果,最后再将返回的结果按一定的格式或方式显示给用户。而后台服务器则负责共享外部设备、存取共享数据、响应前台客户端的请求并回送结果等工作。前台的应用程序和数据一般是用户专用的,而后台的数据和代码是所有用户可以共享的。
由于数据库服务器不仅要管理共享数据,保证数据的完整性,还要执行一部分代码,完成客户端的一些处理请求,所以对用于服务器的计算机提出较高的要求。最好要采用一台专用的服务器,有较快的处理速度,有大容量的硬盘和内存,支持磁带等大容量的存储设备。
上面讲的客户机/服务器结构将应用分在了客户机、服务器两级,称其为两层客户机/ 服务器结构。总之,两层C/S结构的基本工作方式是客户程序向数据库服务器发送SQL请求,服务器返回数据或结果。
这种C/S结构有两种实现方式,一种是客户来完成表示部分和应用逻辑部分,而服务器完成数据访问部分,这种情况是以客户为中心的,适用于应用相对简单、数据访问量不是很大的情况。另一种是以服务器为中心的,把一些重要的应用逻辑部分放到服务器上,这样可充分利用服务器的计算能力,减少网络上需要传送的数据。通常以存储过程和触发器的形式出现,但存储过程都依赖于特定数据库,不同数据库之间很难移植,而三层C/S结构可以很好地解决这个问题。
注意:触发器(trigger)是数据库系统中,一个在插入、删除、修改操作之后运行的记录级事件代码。不同的事件可以对应不同的动作。通常有3种类型的触发器:INSERT触发器、DELETE触发器和UPDATE触发器。
2.三层C/S结构
由于两层结构的客户机/服务器系统本身固有的缺陷,使得它不能应用于一些大型、结构较为复杂的系统中,故出现了3层结构的客户机/服务器系统,将两层结构中服务器部分和客户端部分的应用单独划分出来,即采用“客户机—应用服务器—数据库服务器”结构(如图1-8所示)。典型的数据库应用可分为三部分:表示部分、应用逻辑(商业逻辑)部分和数据访问部分,三层结构便是对应于这三部分。
图1-8 三层C/S结构
其中,应用服务器和数据库服务器可位于同一主机,也可位于不同主机。客户机是应用的用户接口部分,负责用户与应用程序的交互,运行在客户机端的软件也称为表示层软件。应用服务器存放业务逻辑层(也称为功能层)软件,是应用逻辑处理的核心,实现具体业务。它能响应客户机请求,完成业务处理或复杂计算。若有数据库访问任务时,应用服务器层可根据客户机的要求向数据库服务器发送SQL指令。应用逻辑变得复杂或增加新的应用时,可增加新的应用服务器。数据库服务器便是用来执行功能层送来的SQL指令,完成数据的存储、访问和完整性约束等。操作完成后再通过应用服务器向客户机返回操作结果。
1.3.2 浏览器/服务器结构
随着Internet技术和Web技术的广泛应用,C/S结构已无法满足人们的需要。因为在典型C/S体系中,通常为客户安装前端应用程序的做法已不再现实,并且限制客户端工作环境只能基于Windows、Macintosh或UNIX等操作系统也不切实际。于是基于浏览器/服务器结构(Browser/Server)的系统应运而生。
采用B/S结构后,在客户端只需安装一个通用的浏览器即可,不再受具体操作系统和硬件的制约,实现了跨平台的应用。
基于B/S结构的典型应用通常采用三层结构:“浏览器—Web服务器—数据库服务器”,B/S模式的工作原理是:通过浏览器以超文本的形式向Web服务器提出访问数据库的请求,Web服务器接受客户请求后,激活对应的CGI程序将超文本HTML语言转化为SQL语法,将这个请求交给数据库,数据库服务器得到请求后,进行数据处理,然后将处理结果集返回给CGI程序。CGI再将结果转化为HTML,并由Web服务器转发给请求方的浏览器,如图1-9所示。
图1-9 B/S工作原理
在B/S模式中,客户端的标准配置是浏览器,如IE;业务功能处理由独立的应用服务器处理,Web服务器成为应用处理的标准配置;数据处理仍然由数据库服务器处理。
从本质上讲,B/S结构与传统的C/S结构都是以同一种请求和应答方式来执行应用的,区别主要在于:C/S是一种两层或三层结构模式,其客户端集中了大量应用软件,而B/S是一种基于超链接(HyperLink)、HTML、Java的三级或多级C/S结构,客户端仅需单一的浏览器软件,是一种全新的体系结构,解决了跨平台问题。到目前,这两种结构在不同方面都有着广泛的应用。虽然C/S结构在Internet环境下明显不如B/S结构具有优势,但它在局域网环境下仍具有优势。
1.3.3 Internet/Intranet信息系统的多层体系结构
多层结构应用软件与传统的两层结构应用软件相比,有可伸缩性好、可管理性强、安全性高、软件重用性好等诸多优点,如何在Internet/Intranet环境下构建应用软件体系结构就成为一个非常重要的问题,也是现今软件体系研究的一个新热点。
目前各种技术层出不穷,如最初的静态HTML页面、简单的CGI网关程序、Java Applet程序,现在的ASP等Web数据库技术,还有动态的Java在线游戏及PHP技术等。
实际上,多层的概念是由Sun公司提出来的。Sun公司提出的多层应用体系包括4层:客户层、顶端Web服务层、应用服务层和数据库层。其中顶端Web服务层是Sun公司多层体系结构中非常重要的一层,它主要起代理和缓存的作用。顶端Web服务器的作用是缓存本地各客户机经常使用的Java Applet程序和静态数据,通常被放置在客户机所在的局域网内,起到一个Java Applet主机(向Web浏览器传送Java Applet程序的计算机)和访问其他服务的代理作用。与普通代理服务器的作用相同。构建多层结构应用软件时,选用Java平台是一个很好的选择,因为它跨越各应用平台。总之,在Java平台上构建多层应用软件体系代表着今后Internet/Intranet应用的趋势。