TopicSystematic Study on different aspect of DATABASE
Presentation TEAM IT @ DCSMAT
DATABASEA database is any organized collection of data.Some examples of databases you may encounterin your daily life are: • a telephone book • T.V. Guide • airline reservation system • motor vehicle registration records • papers in your filing cabinet • files on your computer hard drive.
Database• It is a collection of interrelated data with minimum redundancy to serve many users quickly and efficiently• General theme – to handle information as an integrated whole• General objective – to make information access easy, quick, inexpensive and flexible for the user.
Objectives of Database1. Controlled redundancy2. Ease of learning and use3. Data independence4. More information at low cost5. Accuracy and integrity6. Recovery from failure7. Privacy and security8. Performance
Purpose of Database System• In the early days, database applications were built on top of file systems• Drawbacks of using file systems to store data: – Data redundancy and inconsistency • Multiple file formats, duplication of information in different files – Difficulty in accessing data • Need to write a new program to carry out each new task – Data isolation — multiple files and formats – Integrity problems • Integrity constraints (e.g. account balance > 0) become part of program code • Hard to add new constraints or change existing ones
– Atomicity of updates • Failures may leave database in an inconsistent state with partial updates carried out • E.g. transfer of funds from one account to another should either complete or not happen at all– Concurrent access by multiple users • Concurrent accessed needed for performance • Uncontrolled concurrent accesses can lead to inconsistencies – E.g. two people reading a balance and updating it at the same time– Security problems
Data vs. information: What is the difference?• What is data? – Data can be defined in many ways. Information science defines data as unprocessed information• What is information? – Information is data that have been organized and communicated in a coherent and meaningful manner. – Data is converted into information, and information is converted into knowledge. – Knowledge; information evaluated and organized so that it can be used purposefully.
What is the ultimate purpose of adatabase management system? Is to transform Data Information Knowledge Action
Why do we need a database ?• Keep records of our: – Clients – Staff – Volunteers• To keep a record of activities and interventions;• Keep sales records;• Develop reports;• Perform research• Longitudinal tracking
Terms Used in a Database• Table, a set of columns that contain data. In the old days, a table was called a file.• Row, a set of columns from a table reflecting a record.• Index, an object that allows for fast retrieval of table rows. Every primary key and foreign key should have an index for retrieval speed.• Primary key, often designated pk, is 1 or more columns in a table that makes a record unique.
• Foreign key, often designated fk, is a common column common between 2 tables that define the relationship between those 2 tables.• Foreign keys are either mandatory or optional. Mandatory forces a child to have a parent by creating a not null column at the child. Optional allows a child to exist without a parent, allowing a nullable column at the child table (not a common circumstance).• Entity Relationship Diagram or ER is a pictorial representation of the application schema.
Key Terms in database design• User’s view: profile that the user expects to see on a specific report• Processing: the changes made to produce the report• Data model: a framework of the user’s view• Data file: the area where the actual files are stored.
• DML manipulates data; it specifies what is required. Eg: update, delete• DDL describes how data are structured. Eg: create, alter• DBMS manages data according to DML requests and DDL descriptions.
Views of data• Logical view - It is what the data look like, regardless of how they are stored.• Physical view - It deals with how data are stored, accessed, or related to other data in storage
Database Users• Users are differentiated by the way they expect to interact with the system• Application programmers – interact with system through DML calls• Sophisticated users – form requests in a database query language• Specialized users – write specialized database applications that do not fit into the traditional data processing framework• Naive users – invoke one of the permanent application programs that have been written previously – E.g. people accessing database over the web, bank tellers, clerical staff
Types of Databases1. Non-relational databases Non-relational databases place information in field categories that we create so that information is available for sorting and disseminating the way we need it. The data in a non-relational database, however, is limited to that program and cannot be extracted and applied to a number of other software programs, or other database files within a school or administrative system. The data can only be "copied and pasted.“ Example: a spread sheet
2. Relational databases In relational databases, fields can be used in a number of ways (and can be of variable length), provided that they are linked in tables. It is developed based on a database model that provides for logical connections among files (known as tables) by including identifying data from one table in another table
Data Definition Language (DDL)• Specification notation for defining the database schema – E.g. create table account ( account-number char(10), balance integer)• DDL compiler generates a set of tables stored in a data dictionary• Data dictionary contains metadata (i.e., data about data) – database schema – Data storage and definition language • language in which the storage structure and access methods used by the database system are specified • Usually an extension of the data definition language
Data Manipulation Language (DML)• Language for accessing and manipulating the data organized by the appropriate data model – DML also known as query language• Two classes of languages – Procedural – user specifies what data is required and how to get those data – Nonprocedural – user specifies what data is required without specifying how to get those data• SQL is the most widely used query language
SQL• SQL: widely used non-procedural language – E.g. find the name of the customer with customer-id 192-83-7465 select customer.customer-name from customer where customer.customer-id = ‘192-83-7465’ – E.g. find the balances of all accounts held by the customer with customer-id 192-83-7465 select account.balance from depositor, account where depositor.customer-id = ‘192-83-7465’ and depositor.account-number = account.account-number• Application programs generally access databases through one of – Language extensions to allow embedded SQL – Application program interface (e.g. ODBC/JDBC) which allow SQL queries to be sent to a database
Selecting a database system: Need AnalysisThe needs analysis process will be specific to your organization but, at a minimum, should answer the following questions:• How many records we will warehouse and for how long?• Who will be using the database and what tasks will they perform?• How often will the data be modified? Who will make these modifications?• Who will be providing IT support for the database?• What hardware is available? Is there a budget for purchasing additional hardware?• Who will be responsible for maintaining the data?• Will data access be offered over the Internet? If so, what level of access should be supported?
Selecting a DBMS How do I Choose?Which database product is appropriate for my application? You must make a requirements assessment.Does you database need 24x7 availability?Is your database mission critical, and no data loss can be tolerated?Is your database large? (backup recovery methods)What data types do I need? (binary, large objects?)Do I need replication? What level of replication is required? Read only? Read/Write? Read/Write is very expensive, so can I justify it?
If your answer to any of the above is ‘yes’, I would strongly suggest purchasing and using a commercial database with support. Support includes: • 24x7 assistance with technical issues • Patches for bugs and security • The ability to report bugs, and get them resolved in a timely manner. • Priority for production issues • Upgrades/new releases • Assistance with and use of proven backup/recovery methods
Selecting a DBMS The Freeware ChoiceFreeware is free.Freeware is open source.Freeware functionality is improving.Freeware is good for smaller non-mission critical applications.