Beruflich Dokumente
Kultur Dokumente
DBMS
DATA BASE MANAGEMENT SYSTEM:Definition of DBMS:A data base management system is collection of program that enables users to creates and maintain database. The DBMS is a general purpose software that facilities the processes of defining ,constructing ,manipulating and sharing database among various users and applications. Data base management system is the system in which related data is stored in an "efficient" and "compact" manner. Efficient means that the data which is stored in the DBMS is accessed in very quick time and compact means that the data which is stored in DBMS covers very less space in computer's memory. In above definition the phrase "related data" is used which means that the data which is stored in DBMS is about some particular topic.
Defining:Defining is database involves specifying the data types, structures and constraints of the data to be stored in the database. The database definition or descriptive information is also stored in the database form of a database catalog or dictionary; it is called meta-data.
Constructing:Constructing the database is the process of storing the data on some storage medium that is controlling by the DBMS.
Manipulating:Manipulating a database includes functions such as querying the database to retrieve specific data ,updating the database to reflect changes in the miniworld and generating reports from the data.
SPEC Page 2
DBMS
Sharing:Sharing is data base that allows multiple users and programs to acess the database allows multiple users and programs to acess the database simultaneously.
DBMS ARCHITECTURE:We now discuss a conceptual framework for a DBMS. Several different frameworks have been suggested over the last several years. For example, a framework may be developed based on the functions that the various components of a DBMS must provide to its users. It may also be based on different views of data that are possible within a DBMS. We consider the latter approach. A commonly used view of data approach is the three-level architecture suggested by ANSI/SPARC (American National Standards Institute/Standards Planning and Requirements Committee). ANSI/SPARC produced an interim report in 1972 followed by a final report in 1977. The reports proposed an architectural framework for databases. Under this approach, a database is considered as containing data about an enterprise. The three levels of the architecture are three different views of the data: 1. External - individual user view 2. Conceptual - community user view 3. Internal - physical or storage view The three level database architecture allows a clear separation of the information meaning (conceptual view) from the external data representation and from the physical data structure layout. A database system that is able to separate the three different views of data is likely to be flexible and adaptable. This flexibility and adaptability is data independence that we have discussed earlier. We now briefly discuss the three different views.
External level:The external level is the view that the individual user of the database has. This view is often a restricted view of the database and the same database may provide a number of different views for different classes of users.
SPEC
Page 3
DBMS
In general, the end users and even the applications programmers are only interested in a subset of the database.
DBMS ARCHITECTURE
SPEC
Page 4
DBMS
For example, a department head may only be interested in the departmental finances and student enrolments but not the library information. The librarian would not be expected to have any interest in the information about academic staff. The payroll office would have no interest in student enrolments.
Conceptual view:The conceptual view is the information model of the enterprise and contains the view of the whole enterprise without any concern for the physical implementation. This view is normally more stable than the other two views. In a database, it may be desirable to change the internal view to improve performance while there has been no change in the conceptual view of the database. The conceptual view is the overall community view of the database and it includes all the information that is going to be represented in the database. The conceptual view is defined by the conceptual schema which includes definitions of each of the various types of data.
Internal view:The internal view is the view about the actual physical storage of data. It tells us what data is stored in the database and how. At least the following aspects are considered at this level: 1. Storage allocation e.g. B-trees, hashing etc. 2. Access paths e.g. specification of primary and secondary keys, indexes and pointers and sequencing. 3. Miscellaneous e.g. data compression and encryption techniques, optimization of the internal structures. Efficiency considerations are the most important at this level and the data structures are chosen to provide an efficient database. The internal view does not deal with the physical devices directly. Instead it views a physical device as a collection of physical pages and allocates space in terms of logical pages.
SPEC Page 5
DBMS
The separation of the conceptual view from the internal view enables us to provide a logical description of the database without the need to specify physical structures. This is often called physical data independence. Separating the external views from the conceptual view enables us to change the conceptual view without affecting the external views. This separation is sometimes called logical data independence. Assuming the three level view of the database, a number of mappings are needed to enable the users working with one of the external views. For example, the payroll office may have an external view of the database that consists of the following information only: 1. Staff number, name and address. 2. Staff tax information e.g. number of dependents. 3. Staff bank information where salary is deposited. 4. Staff employment status, salary level, leaves information etc. The conceptual view of the database may contain academic staff, general staff, casual staff etc. A mapping will need to be created where all the staff in the different categories are combined into one category for the payroll office. The conceptual view would include information about each staff's position, the date employment started, full-time or part-time, etc etc. This will need to be mapped to the salary level for the salary office. Also, if there is some change in the conceptual view, the external view can stay the same if the mapping is changed.
INTRODUCTION TO SQl :SQL stand s for structured query language. Usually talk to a database server Used as front end in many database languages ( msql, postgresql,oracle) Three subsystems: data description, data access and privileges Optimized for certain data arrangements
SPEC
Page 6
DBMS
Definition of SQL:SQL is short for Structured Query Language and is a widely used database language, providing means of data manipulation (store, retrieve, update, delete) and database creation. Almost all modern Relational Database Management Systems like MS SQL Server, Microsoft Access, MSDE, Oracle, DB2, Sybase, MySQL, Postgres and Informix use SQL as standard database language. Now a word of warning here, although all those RDBMS use SQL, they use different SQL dialects. For example MS SQL Server specific version of the SQL is called TSQL, Oracle version of SQL is called PL/SQL, MS Access version of SQL is called JET SQL, etc.
SQL Data Types:This chapter describes all of the SQL data types that PointBase supports. Data types define what type of data a column can contain. The following sections describe each PointBase data type in detail and discuss converting data types. Tables are provided at the end of the chapter to show the mappings between PointBase data types and industry standard and other common non-standard data types.
Data Types :PointBase supports the following data types for its column and parameter declarations.
CHARACTER [(length)] or CHAR [(length)] VARCHAR (length) BOOLEAN SMALLINT INTEGER or INT DECIMAL [(p[,s])] or DEC [(p[,s])]
Page 7
SPEC
DBMS
NUMERIC [(p[,s])] REAL FLOAT(p) DOUBLE PRECISION DATE TIME TIMESTAMP CLOB [(length)] or CHARACTER LARGE OBJECT [(length)] or CHAR LARGE OBJECT [(length)]
CHARACTER [(length)] or CHAR [(length)] :The CHARACTER data type accepts character strings, including Unicode, of a fixed length. The length of the character string should be specified in the data type declaration; for example, CHARACTER(n) where n represents the desired length of the character string. If no length is specified during the declaration, the default length is 1.
VARCHAR (length) :The VARCHAR data type accepts character strings, including Unicode, of a variable length is up to the maximum length specified in the data type declaration. A VARCHAR declaration must include a positive integer in parentheses to define the maximum allowable character string length. For example, VARCHAR (n) can accept any length of character string up to n characters in length.
BOOLEAN :The BOOLEAN data type accepts a single value that can be TRUE or FALSE. No parameters are required when declaring a BOOLEAN data type.
SPEC
Page 8
DBMS
Use the case insensitive keywords TRUE or FALSE to assign a value to a BOOLEAN data type. Comparisons using the BOOLEAN data type should also use these keywords. If you attempt to assign any other value to a BOOLEAN data type, an error is raised.
SMALLINT :The SMALLINT data type accepts a 16 bit signed integer value with an implied scale of zero. It stores any integer value between the range 2^ -15 and 2^15 -1. Attempting to assign values outside this range causes an error. If you assign a numeric value with a precision and scale to a SMALLINT data type, the scale portion truncates, without rounding.
INTEGER or INT :The INTEGER data type accepts a 64-bit signed integer value with an implied scale of zero. It stores any integer value between the range 2^ -31 and 2^31 -1. Attempting to assign values outside this range causes an error. If you assign a numeric value with a precision and scale to an INTEGER data type, the scale
BIGINT :The BIGINT data type can accept numeric values up to 8 bytes. It can be used in place of the LONG data type. It stores any integer value between the range of 9223372036854775807 and -9223372036857447808. Attempting to assign values outside this range causes an error.
DECIMAL [(p[,s])] or DEC [(p[,s])] :The DECIMAL data type accepts fixed-precision decimal values, for which you may define a precision and a scale in the data type declaration. The precision is a positive integer that indicates the number of digits that the number will contain. The scale is a positive integer that indicates the number of these digits that will represent
SPEC
Page 9
DBMS
decimal places to the right of the decimal point. The scale for a DECIMAL cannot be larger than the precision.
NUMERIC [(p[,s])] :Point Base treats the NUMERIC data type in exactly the same way as the DECIMAL data type.
REAL :The REAL data type accepts single-precision floating point number values, up to a precision of 64. No parameters are required when declaring a REAL data type. If you attempt to assign a value with a precision greater than 64 an error is raised.
FLOAT (p) :The FLOAT data type accepts a single or double precision floating point number value, for which you may define a precision up to a maximum of 64. If no precision is specified during the declaration, the default precision is 64. Attempting to assign a value lager than the declared precision will cause an error to be raised.
DOUBLE PRECISION :The REAL data type accepts a double precision floating point value, up to a precision of 64. No parameters are required when declaring a DOUBLE PRECISION data type. If you attempt to assign a value with a precision greater than 64 an error is raised.
DATE :The DATE data type accepts date values, consisting of year, month, and day. No parameters are required when declaring a DATE data type. Date values should be specified in the form: YYYY-MM-DD. However, Point Base will also accept single digits entries for month and day values.
SPEC Page 10
DBMS
TIME :The TIME data type accepts time values, consisting of hours, minutes, and seconds. No parameters are required when declaring a TIME data type. Date values should be specified in the form: HH:MM:SS. An optional fractional value can be used to represent nanoseconds.
TIMESTAMP :The TIMESTAMP data type accepts timestamp values, which are a combination of a DATE value and a TIME value. No parameters are required when declaring a TIMESTAMP data type. Timestamp values should be specified in the form: YYYY-MM-DD HH:MM:SS. There is a space separator between the date and time portions of the timestamp.
SPEC
Page 11
DBMS
PRACTICAL:-2 Objective:To implement different types of DDL, DML & DCL statements in SQL
What is SQL?? SQL stands for Structured Query Language .which provides an interface to database systems. SQL was developed by IBM in the 1970s for use in System R, and is a de facto standard, as well as ISO and ANSI standard. It is often pronounced as SEQUEL. Features of SQL:1. It is non-procedural language. 2. It reduces the amount of time required for creating and maintaining systems. 3. It can be used by a range of users.
Rules for SQL:1. SQL starts with a verb (i.e. SQL action words) Example: SELECT statements 2. Each verb is followed by a number of clauses. Example: From, Where, Having 3. A space separate clauses. Example: Drop Table Student; 4. A semicolon (;) is used to end SQL statements. 5. Character and Date literals must be enclosed within single quotes. Components of SQL:The various components of SQL are:1. DDL:- Data Definition Language 2. DML:- Data Manipulation Language 3. DCL:- Data Control Language
SPEC
Page 12
DBMS
DATA DEFINITION LANGUAGE:It is a set of SQL commands used to create, modify, and delete database structures but not data. These commands are used by DBA to limited extent, a database designer or application developer. The DDL commands includes following:-
4. TRUNCATE:SPEC Page 13
DBMS
Remove all records from a table, include all spaces allocated for the records are removed
DATA MANIPULATION LANGUAGE:It is the area of SQL that allows a changing data within a database. These include the following commands:1. INSERT:Insert data into table.
3. DELETE:Delete all records from a table, the space for the record remain
SPEC
Page 14
DBMS
DATA CONTROL LANGUAGE:It is the component of SQL statements that control access to data and to the database. Occasionally DCL statements are grouped with DML statements. The various DCL statements are listed below:1. COMMIT:Save Work Done
3. SET TRANSACTION: Change transaction options like what rollback segment to use. 4. ROLLBACK:Restore database to original since the last commit
SPEC
Page 15
DBMS
DATA QUERY LANGUAGE:It is the component of SQL that allows getting data from the database. It includes SELECT statement. When a SELECT query is fired against a Table or tables the result is compiled into a further temporary table which is displayed by the program i.e. Front End SELECT: Retrieve data from the database. The various select commands are :-
TO DISPLAY A TABLE:It is used to display both the rows and column of a table.
TO VIEW SELECTED COLUMNS FROM A TABLE:It is used to display selected columns from a particular table.
SPEC
Page 16
DBMS
CREAT A NEW TABLE FROM A TABLE:Here the select command is used to create a new table from an exit table.
SPEC
Page 17
DBMS
SPEC
Page 18
DBMS
AGGREGATE FUNCTIONS AVG: Returns an average value of n ignoring null values in a column Syntax: AVG ([<DISTINCT>| <ALL>] <n>)
COUNT: Returns the number of rows where expr is not null COUNT(*):Returns the number of rows in a table, including duplicates and those with nulls MAX: Returns the maximum value of expr
SPEC
Page 19
DBMS
NUMERIC FUNCTIONS:POWER:Returns m raised to the nth power , n must be an integer, else an error is returned Syntax: POWER(m,n)
SPEC
Page 20
DBMS
LEAST:
Returns the least value in a list of expression. Syntax: LEAST(expr1,expr2.expr_n)
TRUNC: Returns the number truncated to a certain number of decimal places Syntax: TRUNC(number,[decimal_places])
FLOOR:Returns the largest integer value that is equal to or less than a number Syntax: FlOOR(n)
SPEC
Page 21
DBMS
CEIL: Returns the smallest integer value that is equal to or greater than a number Syntax: CEIL(n)
STRING FUNCTIONS:LOWER:- Returns char with all characters in Lower case Syntax:-LOWER(char)
UPPER:- Returns char with all characters in Upper case Syntax:- UPPER(char)
INITCAP:Returns a string with the first letter of each word in upper case Syntax:- INITCAP(char)
SUBSTR:SPEC Page 22
DBMS
Returns a portion of characters, beginning at character m, and going upto character n . if n is omitted, the result returned is upto the last character in the string. Syntax: SUBSTR(<string>, <start_position>,[<length>])
ASCII:Returns the NUMBER code that represents the specified character. If more than one character is entered, the function will return the value for the first character and ignore all of the characters after the first. Syntax:- ASCII(<single character>)
LTRIM:- Removes a character from the left of char with initial characters removed upto the first character not in set Synatx:- LTRIM(char[,set])
SPEC
Page 23
DBMS
RTRIM:- Returns char, with final characters removed after the last character not in the set. Syntax:- RTRIM(char[,set])
SPEC
Page 24
DBMS
PRACTICAL:4 Objective:To explore select clause using where, order by, between, like, group by, having etc.. Table:-
1. Group by clause:Create data set containing several; set of record group to gather based on the condition.
Syntax:SELECT COL1, COL2 AGGERIGATE FUNTION (EXPRESSION)FROM TABLE NAME WHERE CONDITION GROUP BY COL1,COL2;
SPEC
Page 25
DBMS
2. Having clause:The having clause can be used in conjunction with the group by clause .each column specification in the having clause must occurs with in the statically function or must occurs in the list of columns named in the group by clause.
Syntax:SELECT COL1, COL2 AGGERIGATE FUNTION (EXPRESSION)FROM TABLE NAME CONDITION GROUP BY COL1,COL2 HAVING=CONDITION;
3. Order by:The order by clause allows the data from a table to view a table in a sorted order. The rows retrieve from a table will be sorted in either ascending or descending order depending on the condition specified in select condition.
SPEC
Page 26
DBMS
PRACTICAL:-5 SUBQUERY What is a sub query:A sub query is the form of SQL statement that appears inside another other SQL statement. The statement containing sub query is called parent statement .the parents statement uses the roes return by the sub query. It can use for the following: 1. Is to insert record in the target table. 2. Is to create table and insert record in the table created. 3. To update record in the target table
1. Single row:These query return only one value from the sub query that is in a select query.
2. Multiple row:These queries return more than one row from the sub query.
SPEC
Page 27
DBMS
3. Multiple columns
These queries return more than one columns from the sub query.
Rules for use sub query:1. The nested query must be enclosed in parenthesis and it must appear to the right hand side of the comparisons operators. 2. It doesnt contain order by clause. 3. Between cant be used with the sub query 4. The sub query that produces only one row can be used with either single or many valued operators 5. The sub query must either have only one column or compare its selected columns to multiple columns in parenthesis in query.
SPEC
Page 28