BIT, DECIMAL, NUMERIC, TIMESTAMP
以下的“标准”数据类型不被Access支持:
BIT, CHARACTER, DATE, NUMERIC, SMALLINT, TIMESTAMP
这样,只有以下的数据类型可以保证在各类数据库上都能使用:
DOUBLE PRECISION, FLOAT, INTEGER, NUMERIC, REAL, SMALLINT, VARCHAR, CHAR
主/外键
假设某个表内有两个字段,创建这个表的语法如下:
CREATE TABLE [MyTable] ([FieldA] VARCHAR, [FieldB] VARCHAR);
为了添加主键以便表内的每一条记录都唯一标识你可以采用PRIMARY KEY 表达式:
CREATE TABLE [MyTableA] ([RecordID] VARCHAR PRIMARY KEY, [FieldA] VARCHAR, [FieldB] VARCHAR);
在创建另一个表,其中一个字段索引第1个表,你可以把该字段定义为同第1个表的字段具有关系的外键:
CREATE TABLE [MyTableB] ([RecordID] VARCHAR PRIMARY KEY, [FieldA] VARCHAR, [FieldB] VARCHAR, [FieldC] VARCHAR REFERENCES [MyTableA]([FieldA]))
在以上例子中,所有的字段都是VARCHAR类型;但是你得记住,某一数据类型字段只能索引同一数据类型的字段。
ODBC 和 JDBC
如果你在编写的应用程序要用到SQL数据库连接,那么你可以用ODBC完成该功能。如果它是一个Java应用程序则可以用JDBC(简而言之就是ODBC的Java接口)。
因为你希望自己的应用程序最好不要引起管理员的注意,所以你应该为你用户的DBMS包括所有必要的ODBC驱动程序。这样,如果用户从一个平台转移到另一个平台,它们所需要的驱动程序却已经事先拥有了。
你的应用程序应该通过编程的方式决定当前用到的ODBC驱动程序对应何种DBMS。这样你才能用上那些数据库服务器上强大的、同特定平台相关的命令。
另类浏览器之战
最流行的浏览器当然是微软的Internet Explorer和Netscape的Navigator了。但是,不管你手头用的是哪一种,它能保证支持现有的所有网站吗?错!很多花哨的东西,比如DHTML、框架以及多媒体等等都各自受到两类浏览器中非标准的HTML标签的支持。
因为程序在这两种国际标准的岔路口无所适从,所以你必须为两种浏览器编写代码或者编写最具普遍性的功能代码而放弃大量的动态内容。
数据库服务器也面临同样的问题。ANSI SQL-92是人人赞同的标准。然而,Oracle、微软以及其他数据库厂商还自作主张加入了很多破坏SQL代码的特性。因此,你不仅得编写遵从基本规范(SQL-92)的代码,而且的代码还得根据具体用到的产品实现不同的特性。
在你自己的应用程序内,你必须正确地决定应用程序将使用什么类型的数据库,而且数据库应该定位在哪里。你还得老练地处理应用程序或用户产生的任何错误。你当然不希望仅仅因为文件被删除或者网线连接松弛就导致程序崩溃(或服务器崩溃)。在经过精心设计的网络上,数据库服务器通常同工作站和Web服务器、应用服务器在物理上相分离,因此断开连接是很常见的。
小结
作为Web开发者,你需要对应用程序使用非标准SQL命令的危险保持高度的小心。这篇文章的中心思想是建议用ANSI SQL编写跨平台的应用程序。利用ANSI SQL减少商业数据库系统的非标准方言所带来的头疼问题。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/