A database is a stored set of data that is logically interrelated. Typically this data can be accessed in a multiuser environment with defined rights and restrictions enforced with that access.
At CIOS we utilise MS SQL Server and MS Access technology.
SQL Server utilises a Client/Server architecture and Access a File Server architecture - these are fundamentally different architectures with many implications for the user.
We will talk about SQL first.
SQLIn June 1970 Dr. E. F. Codd published the paper "A Relational Model of Data for Large Shared Data Banks" in the Association of Computer Machinery journal Communications of the ACM. Codd's model is now accepted as the definitive model for Relational Database Management Systems (RDBMS). The language, Structured English Query Language (SEQUEL) was developed by IBM to utilise Codd's model. SEQUEL for legal reasons became SQL (still pronounced "sequel").
In 1979 Relational Software Inc. (now Oracle) introduced the first commercially available implementation of SQL.
Today SQL is accepted as the standard RDBMS language.
When our Clients require a web enabled database application with a concurrent user population of more than five we use one of two Microsoft implementations of SQL:
MS SQL Server 2005 where data volumes and concurrent user populations are high - this is a licenceable product unless the database is hosted by a third party company who already have a SQL Server licence.
MS SQL Server Express where data volumes and concurrent user populations are moderate - this product is provided free of charge by Microsoft and is, to all intents and purposes identical to SQL Server 2005.
AccessMicrosoft Access, now known as Microsoft Office Access is actually the Microsoft Jet Relational Database Management System with a Graphical User Interface.
Microsoft article Q300216 "How to keep a Jet 4.0 database in top working condition in Access 2000" has a sub - section "Additional Best Practises for Network Environments". To quote verbatim:
"Microsoft Jet is a file sharing database system. A file sharing database is one in which all of the processing of the files takes place at the client. When a file - sharing database such as Microsoft Jet, is used in a multiuser environment, multiple client processes are using file read, write and locking operations on the same shared file across a network. If, for any reason, a process cannot be completed, the file can be left in an incomplete or corrupted state. Two examples of when a process may not be completed is when a client is terminated unexpectedly or when a network connection to a server is dropped.
Microsoft Jet is not intended to be used with high - stress, high concurrency, 24x7 server applications, such as Web, commerce, transactional and messaging servers. For these type of applications, the best solution is to switch to a true client/server - based database system such as Microsoft Data Engine (MSDE) or Microsoft Sequel Server. When you use Microsoft Jet in high-stress applications such as Microsoft Internet Information Server (IIS) customers have reported database corruption, stability issues such as IIS crashing or locking up, and also a sudden and persistent failure of the driver to connect to a valid database that requires re - starting the IIS service."
Which would be best for your database requirements ?With SQL Server the users do not interact with the raw data tables themselves but with an intelligent data manager which in turn writes to a transaction log. When the user signals to the Server that he/she has finished the intelligent data manager applies the data changes to the database itself.
In the instance of a network problem or problem with the client machine the data manager is aware that the transaction has not been completed and does not apply the changes to the database, the database thereby retaining it's integrity.
In the instance of a server failure this transaction log can be re - applied allowing the database to be restored to the situation it was in before the failure. In the right environment this is scarcely a consideration - we have customers with 24x7 SQL Server databases running at Rackspace where no problems have been encountered since the systems went into production.
With Access the story is different. Each user interacts directly with the raw data tables. If a user's machine experiences problems these will usually have the effect of corrupting the entire underlying Jet Database. Network problems will have a similar effect.
With increases in user populations and data volumes come increases in problems. To the extent that we would not develop an Access database for a customer who was planning to have more than three concurrent users for the foreseeable future.
We would be delighted to review your database requirements and make a recommendation with no obligation.
Database Development
Our Skills
Our Process
