2009年4月4日星期六

Introduce of SQL

SQL, which is a database computer language, is designed for manage and retrieve DBMS. ANSI and ISO standardize SQL. SQL allows the retrieval, updating, insertion, and deletion of data. SQL was first developed at IBM by by Andrew Richardson, Donald C. Messerly and Raymond F. Boyce in the early 1970s. It's revised manay times during the pass 30 years and it's still developing today.

SQL standard includes many parts:
SQL/Foundation. This part contains the basic elements of the language.
SQL/CLI. This part includes independent mandatory features.
SQL/PSM. This part includes optional features.
Elements of SQL lanaguage:
Clauses. It contains components of statement and queries.
Expressions. It produces tables and values.
Predicates. It is used to limit the statement and queries.
Queries. Get the data based on standard.
Statements. It controls transactions, flow of program, sessions, etc.

Querries:
It's the most common operation in database. There're 5 clauses: From, Where, Group by, Having, Order by. Querries are widely used in many fields, for example, data manipulation, transaction controls, data definition, data control, etc.
What can SQL do?
1. Run queries based on a database
2. Get data from a database
3. Enter records to database
4. Update records
5. Delete records
6. Set precedures, views, permit on tables


SQL Diagrams 2004 screenshot

There're some SQL example as follow:
1. If you want to update a sales person, his name is Mike, his customers are in Quebec
You should use command: UPDATE customers SET salesperson = "Mike" WHERE state = "QC"
2. If you want to know what did your customers buy
You should use command: SELECT DISTINCT customers.customer_id, customers.customer_name
FROM customers INNER JOIN orders ON customers.customer_id = orders.customer_id
3. If you want to know the customers who never ordered from you
You should use command: SELECT customers.* FROM customers LEFT JOIN orders ON customers.customer_id = orders.customer_id WHERE orders.customer_id IS NULL
4. If you want to copy your customer's data from one table to another
You should use command: INSERT INTO customers(customer_id, customer_name)
SELECT cus_key, cus_name
FROM jimmyscustomers WHERE customer_name LIKE 'B%'

References

Refsnes Data (2009) Introduction to SQL

http://www.w3schools.com/SQL/sql_intro.asp

Wikipedia (3 April 2009) SQL
http://en.wikipedia.org/wiki/SQL

Role and importance of METADATA

There're several roles that METADATA can perform:
1. Metadata provides detail, well-organized information for an order. For example, metadata gives a lot of information about a customers to the company, such as address, contact number, taste, etc.

2. It helps the company to imporve, research, interpretation, and save the important information.

3. To make end user and implementer understand details of information.

4. It combines a great deal of data which is contextual together to domian of the information.

METADATA is important because:
1. It collects important information, such as simmary, keywords to improve the efficiency of searching so that people can get information they want.
(http://www.gerrymcgovern.com/nt/2001/nt_2001_10_01_metadata.htm)

2. It helps people to determine the fitness of the data for use and accelerate the data transfer.
(http://www.sdvc.uwyo.edu/metadata/why.html)

3. It helps people to analyze information efficiently. For example, in an urban research, the researcher can easily get useful information, such as how many people are living in an area? How many metro stations are located in an area? etc.

Reference
Rutgers (2008) Role of metadata
http://www.libraries.rutgers.edu/rul/events/metadata/MetadataWorkshopWeberBerger/sld004.htm

Gerry McGovern (2001) Why metadata is important
http://www.gerrymcgovern.com/nt/2001/nt_2001_10_01_metadata.htm


Peterson, Thomas C.; Owen, Timothy W (2005) Urban Heat Island Assessment: Metadata Are Important.
http://adsabs.harvard.edu/abs/2005JCli...18.2637P

2009年4月3日星期五

DBMS architectures and software

DBMS architecture in terms of 3 schema architecture:
1. External. It's the individual user view of data. Different levels of users may have different view of the same database. Normally, the end user do not care about the subset if the database.

2. Conceptual. It's the enterprise user view of the whole enterprise. It's the most stable of all three views. The database includes all the information and conceptial view is the community view of the database.

3. Internal. It's about the actual physical data storage. There're 3 apects should be considered: allocation of storage,access paths, miscellaneous. Thus, the efficiency of data is important for this level.








Three-Schemes Architecture






DBMS Software:

IntelliVIEW It's an analytics and reporting end-to-end solution for enterprise. The enterprise can create report by IntelliVIEW Designer, and analyze the report by IntelliVIEW Report Analyzer. The software provides a mix for traditional reporting.

Arbutus Connect It's a solution for data access. The software connect the Windows, web and server applications to non-relational data sources

CONNX It's a data access, integration, and management tools . It helps the company extend the value and life of the existing systems. It provides SQL for access to both relational and non-relational data sources.

Reference

WikiAnswers (2008) Descripe the architecture of a DBMS in terms of 3 schema architecture?

http://wiki.answers.com/Q/Descripe_the_architecture_of_a_DBMS_in_terms_of_3_schema_architecture

Capterra (2009) Database Management Software Finder

http://www.capterra.com/database-management-software

Advantages of introducing and using DBMS

There're a lot of advantages of DBMS:
Efficient data access: Because the company usually store a great deal of information for access, it's very important for the company to accelerate its data access. Tbe DBMS helps the company to store and retrieve data efficiently. For example, the sale department uses to notify customers of unavailable products by using SLIB. BADORDR. (http://www.tau.ac.il/cc/pages/docs/sas8/accdb/z0245491.htm)

Data integrity and security: The DBMS will improve the constraints on the data after the data was accessed through the DBMS. For example, the manager will check the department budget from DBMS before they inserting salary information to make sure the department budget is not exceeded.

Providing Multiple User Interfaces: For example, the DBMS provide the query languages, probramming languages interface, forms, etc.

Lower user training costs: Such a system is easier for user to learn and reduce the training costs.

Less storage: Because people stired the data only once, the redundant of data will be minimized.

Reference
Student Guide (2008) ADVANTAGES OF A DBMS
http://estudents.co.cc/database-management-systems/advantages
ION503 ADVANTAGES OF USING DBMS
http://www.ii.metu.edu.tr/~ion503/demo/chapter1/chapter15.htm
Blurtit (2009) What Are The Advantages Of DBMS (Data Base Managment System)?
http://www.blurtit.com/q955157.html

What is DBMS and its history?

How Computer Data is Stored and used?
There're 3 ways that data can be stored and used: 1. Magnetic storage. When the data is read/write, the head of the storage device pass the surface of the disk to read the magnetic field alignment and thus the data. 2. Optical storage. The surface of the disk has spots that reflect light, which are interpreted as a binary '1', and spots that do not reflect light, interpreted as a binary '0'. They're removable and convinience. 3. Magneto-optical storage. It uses both magnetic and optical technologies to produce disks with a large capacity. It uses laser beam, which is focused on the spinning disk while a sensor detects changes in polarisation of reflected light from the surface, to read the data.

In order to manage our data efficiently, we need to know more about DBMS and its history.
DBMS which stands for database management system is computer software that manages databases. Databases have been in use since the earliest days of electronic computing.

The system has been developing for 4 decades. By the mid-1960s, there're many similar systems were used in commerce. At that time, people were thinking about a standard. A group which was founded by Charles Bachman, create and standardization of COBOL.

In 1971, they released their standard"Codasyl approach". This approach was based on manual operation. When the database was first opened, the program was handed back a link to the first reocrd in the database, which also contained pointers to other pieces of data. To find any particular record, the programmer need to step through these pointers every time until the required record was returned. IBM also developed a DBMS system called IMS in 1968.

In 1970s, DBMS were developed to a relatonal DBMS from a navigational DBMS. Edgar Codd, who worked at IBM, wrote a new approach to contstruct the database. He used a "table" of fixed-length records. The realtional model solve the inefficient problem with optional elements being moved out of from the main table only if they're needed. In the relational model, some infromation was used as a "key" to define a particular record uniquely. Then Codd's ideas was picked up by Eugene Wond and Michael Stonebraket. They develop a projuect called "INGRES" . They use student programmers to produce code.

In 1979, the products of INGRES were ready for widespread use. At the same time, IBM begined to work with a prototype system based on Codd's concepts. It's called "System R". In1978 and 1979,a standarized query language,SQL, was added, and muliti-user version of the system was tested. In1980s, Sybase, informix, Nonstop SQL and Ingres were sold. In sweden, people also develop a Mimer SQL in the mid-70s. The project was introduced into the independent enterprice.

References
Some Speil (2004) How Computer Data is Stored: an Introduction
http://www.datamole.com/storage.php
Wikipedia (4 Apr 2009) Database management system
http://en.wikipedia.org/wiki/Database_management_system