Google Answers Logo
View Question
 
Q: Database Design 6 ( Answered 5 out of 5 stars,   1 Comment )
Question  
Subject: Database Design 6
Category: Computers > Software
Asked by: fahd-ga
List Price: $4.00
Posted: 04 Aug 2002 22:41 PDT
Expires: 03 Sep 2002 22:41 PDT
Question ID: 50695
What ia a database in detail?
How do I ask the database a question?
what database concept am I talking about when I say "The key the whole
key and nothing but the key," and define why this concept is needed?
How is an Object Orinted database different than a relational
database?
Why is the design of database so important to get as close as possible
at the start of the project?

Clarification of Question by fahd-ga on 22 Aug 2002 11:20 PDT
Please help me in pointing where I can find text materials related to
the topics in my original question,

Truly,

Fred
Answer  
Subject: Re: Database Design 6
Answered By: kyrie26-ga on 30 Aug 2002 18:57 PDT
Rated:5 out of 5 stars
 
Hi fahd-ga :

Being a database designer and programmer myself, I have prepared the
answers to your questions :


==== What is a database in detail? ====

database - a searchDatabase definition
http://searchdatabase.techtarget.com/sDefinition/0,,sid13_gci211895,00.html

"A database is a collection of data that is organized so that its
contents can easily be accessed, managed, and updated. The most
prevalent type of database is the relational database, a tabular
database in which data is defined so that it can be reorganized and
accessed in a number of different ways. A distributed database is one
that can be dispersed or replicated among different points in a
network. An object-oriented programming database is one that is
congruent with the data defined in object classes and subclasses."
 
"Databases contain aggregations of data records or files, such as
sales transactions, product catalogs and inventories, and customer
profiles. Typically, a database manager provides users the
capabilities of controlling read/write access, specifying report
generation, and analyzing usage. Databases and database managers are
prevalent in large mainframe systems, but are also present in smaller
distributed workstation and mid-range systems such as the AS/400 and
on personal computers. Structured Query Language is a standard
language for making interactive queries from and updating a database
such as IBM's DB2, Microsoft's Access, and database products from
Oracle, Sybase, and Computer Associates."



==== How do I ask the database a question? ====

The way you ask a database a question is by writing what is known as a
"query". Queries are usually written in SQL (Structured Query
Language).

Please go here for more information about SQL :

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

Introduction to SQL
http://www.free-ed.net/fr03/lfc/030101/121/



==== What database concept am I talking about when I say "The key the
whole key and nothing but the key," and define why this concept is
needed? ====

This concept refers to the practice of refering to another record by
its unique identifier, the "primary key", or just "key", and not by
any other information. For example, in a large names database, there
may be several John Smiths, so instead of asking the database to bring
up records using the name John Smith, we specify the unique key. It's
like an address. Primary keys are automatically assigned to each newly
added record, and are usually numeric.



==== How is an Object Oriented database different than a relational
database? ====

"Relational database" refers to a database that uses tables
representing conceptual entities (for example, Customer, Product,
Transaction, Vendor). There are tables that keep track of the
characteristics of each entity, and tables that track the
relationships between entities. Relational databases are the most
popular type of database today.


To understand an Object Oriented database, we first need to understand
Object Oriented Programming:

object-oriented programming - a searchWin2000 definition - see also
OOP, object-oriented
http://searchwin2000.techtarget.com/sDefinition/0,,sid1_gci212681,00.html

"A revolutionary concept that changed the rules in computer program
development, object-oriented programming (OOP) is organized around
"objects" rather than "actions," data rather than logic. Historically,
a program has been viewed as a logical procedure that takes input
data, processes it, and produces output data. The programming
challenge was seen as how to write the logic, not how to define the
data. Object-oriented programming takes the view that what we really
care about are the objects we want to manipulate rather than the logic
required to manipulate them. Examples of objects range from human
beings (described by name, address, and so forth) to buildings and
floors (whose properties can be described and managed) down to the
little widgets on your computer desktop (such as buttons and scroll
bars)."


An Object-Oriented database is defined as follows :

Object [Oriented] Database vs_ Object-Relational Databases
http://www.cai.com/products/jasmine/analyst/idc/14821E.htm#BKMTOC11

"Object databases combine the elements of object orientation and
object-oriented programming languages with database capabilities. They
provide more than persistent storage of programming language objects.
Object databases extend the functionality of object programming
languages (e.g., C++, Smalltalk, Java) to provide full-featured
database programming capability. The result is a high level of
congruence between the data model for the application and the data
model of the database, resulting in less code (25% to 35% less), more
natural data structures, and better maintainability and reusability of
code. C++, Java, and Smalltalk programmers can write complete database
applications with a modest amount of additional effort."



==== Why is the design of database so important to get as close as
possible at the start of the project? ====

The goal of a database is to mirror reality as accurately as possible.
Like building a house, one must ensure a solid, faultless foundation
so that the rest of the structure, down to the finest details, can be
built in a systematic and orderly fashion. Once the foundation is set,
and the database is in use, this "structure" (database design) will be
filled by the bricks (data) and any changes to be made to the design
will be either very difficult, time-consuming or expensive. Therefore,
any database should be designed will correct principles in mind. These
principles are often taught in many database design courses and employ
a wide variety of models and techniques. One of the most popular is
the E-R diagram (entity-relational diagram).

Consider the following links on database design :

Introduction to Database Design
http://www.schools.ash.org.au/olshc/infotech/dbdesign.htm

Relational Database Design Resource Center
http://support.microsoft.com/default.aspx?scid=/support/access/content/reldesign.asp

Database design Tutorial
http://www.creativeprogrammers.com/article/rd.php/database-design-tutorial-54-1.html

Database Tutorials
http://www.geekgirls.com/menu_databases.htm



Google Search Terms :

introduction SQL
://www.google.com/search?hl=en&ie=UTF-8&oe=UTF-8&q=introduction+SQL

object oriented database definition
://www.google.com/search?hl=en&ie=UTF-8&oe=UTF-8&q=object+oriented+database+definition

introduction database design
://www.google.com/search?q=introduction+database+design&hl=en&lr=&ie=UTF-8&oe=UTF-8&safe=off&start=20&sa=N





Hope that answers your question, and have fun with databases! I love
designing and working with them.


Regards,

kyrie26-ga
fahd-ga rated this answer:5 out of 5 stars
Good Job
I am very thankful to you for the rich information

Comments  
Subject: Re: Database Design 6
From: sherlockh-ga on 30 Aug 2002 16:26 PDT
 
1) What is a database in detail? 
	A database is a collection of computer information.  

2) How do I ask the database a question? 
search the database for something.  Sometimes referered to as
'querying the database'.  The exact method will depend on the programs
which allow access to the database.

For example, in 'SQL' (standard query language), if you wanted 	to
know all products whose price was more than 5.99, you could write
'select * from product where price>5.99' (the 'select *' will 	show
all details from the product table (or file))

3) What database concept am I talking about when I say "The key the
whole key and nothing but the key," and define why this concept is
needed?

A database 'key' is what is used to uniquely identify a record.  A
database can have many tables (sometimes known as files) and those
tables can have many records.

For example, imagine a database which contained a list of feature
films.  The key to 	the feature film table could not _just_ be the
film title, because that wouldn't make each record unique, as there
are more than one film with the same name (eg. film remakes).

Some database tables could have more than one key field.  For example,
imagine you have a list of suppliers and the products that they sell
and the selling price for that 	particular product.  The key fields
could be 'supplier code' and 'price':-
	
	1 Supplier Code
	2 Product Code
          Selling Price

4) How is an Object Oriented database different than a relational
database?

	The following DACS website gives a good description of the
differences:
	http://www.dacs.dtic.mil/techs/oodbms2/oodbms-characteristics.shtml

5) Why is the design of database so important to get as close as
possible at the start of the project?

      It's important to get the correct database design at the start
of the project so that the programs which will use the database can be
written correctly to perform their required function.  Changes to the
database structure will often require major changes to existing
programs.

If the database is not designed correctly at the start of the project,
database changes may delay the project.  The programmers and testers
will need to be given a copy of the new structure.  The programs which
use the new database structure may need to be recompiled and re-tested
(and perhaps modified).  New data may need to be input into the new
database structure before the system goes live (perhaps test data,
then later actual data required by the system).  The user
documentation (eg. manuals) may need to be changed.  The systems
functionality will also need to be re-tested.

If the database structure is changed close to the release of a
project, there may not be sufficient time for the required program
changes, testing etc. so that the release date could be delayed.

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy