Thursday, August 13, 2020

DataBase Language - DBMS

DATABASE LANGUAGE

For supporting variety of users, a DBMS must provide appropriate languages and interfaces for each category of users to express database queries and updates. Once the design of database is complete and a DBMS is chosen to implement the database, it is important to first specify the conceptual and internal schemas for the database and any mappings between the two. Following languages are used to specify database schemas:

  • Data definition language (DDL)

  • Storage definition language (SDL)

  • View definition language (VDL)

  • Data manipulation language (DML)

  • Fourth-generation language (4GL)

In practice, the data definition and data manipulation languages are not two separate languages. Instead they simply form parts of a single database language and a comprehensive integrated language is used such as the widely used structured query language (SQL). SQL represents combination of DDL, VDL and DML, as well as statements for constraints specification and schema evaluation. It includes constructs for conceptual schema definition view definition, and data manipulation.It includes constructs for conceptual schema definition view definition, and data manipulation.

Data Definition Language (DDL) - DBMS

Data Definition Language (DDL)

Data definition (also called description) language (DDL) is a special language used to specify a database conceptual schema using set of definitions. It supports the definition or declaration of database objects (or data element). DDL allows the DBA or user to describe and name the entities, attributes and relationships required for the application, together with any associated integrity and security constraints. Theoretically, different DDLs are defined for each schema in the three-level schema-architecture (for example, for conceptual, internal and external schemas). However, in practice, there is one comprehensive DDL that allows specification of at least the conceptual and external schemas.

Various techniques are available for writing data definition language. One widely used technique is writing DDL into a text file (similar to a source program written using programming languages). Other methods use DDL compiler or interpreter to process the DDL file or statements in order to identify description of the schema constructs and to store the schema description in the DBMS catalog (or tables), which can be understood by DBMS. The result of the compilation of DDL statements is a set of tables stored in specific file collectively called the system log (explained in Section 1.2.6) or data dictionary.

Note:

We are not the Owner of these notes These Notes are Taken Directy From Internet and Used Only For Educational Purpose.

Computer Engineering (2015 Course) 310242 : Database Management Systems

SavitribaiPhule Pune University

Third Year of Computer Engineering (2015 Course)

310242 : Database Management Systems

 

Teaching Scheme:TH:03Hours/Week

 



 

 

Prerequisites Courses : Discrete Mathematics (210241), Data Structures (210243 & 210252)

 

 

Companion Course: Database Management System Lab (310247)

 

 

Course Objectives :

 To understand the fundamental concepts of database management. These concepts include aspects of database design, database languages, and database-system implementation

 To provide a strong formal foundation in database concepts, technology and practice

 To give systematic database design approaches covering conceptual design, logical design and an overview of physical design

 Be familiar with the basic issues of transaction processing and concurrency control

 To learn and understand various Database Architectures and Applications

 To learn a powerful, flexible and scalable general purpose database to handle big data

 

 

Course Outcomes :

On completion of the course, student will be able to–

 Design E-R Model for given requirements and convert the same into database tables.

 Use database techniques such as SQL & PL/SQL.

 Use modern database techniques such as NOSQL.

 Explain transaction Management in relational database System.

 Describe different database architecture and analyses the use of appropriate architecture in real time environment.

 Students will be able to use advanced database Programming concepts Big Data – HADOOP

 

 

Course Contents

 

Unit I

Introduction

07 Hours

 

Introduction to Database Management Systems, Purpose of Database Systems, Database-System Applications, View of Data, Database Languages, Database System Structure, Data Models, Database Design and ER Model: Entity, Attributes, Relationships, Constraints, Keys, Design Process, Entity Relationship Model, ER Diagram, Design Issues, Extended E-R Features, converting E-R & EER diagram into tables.

 

 

Unit II

SQL AND PL/SQL

07 Hours

 

SQL: Characteristics and advantages, SQL Data Types and Literals, DDL, DML, DCL, TCL, SQL Operators, Tables: Creating, Modifying, Deleting, Views: Creating, Dropping, Updating using Views, Indexes, SQL DML Queries: SELECT Query and clauses, Set Operations, Predicates and Joins, Set membership, Tuple Variables, Set comparison, Ordering of Tuples, Aggregate Functions, Nested Queries, Database Modification using SQL Insert, Update and Delete Queries. PL/SQL: concept of Stored Procedures & Functions, Cursors, Triggers, Assertions, roles and privileges , Embedded SQL, Dynamic SQL.

 

 

Unit III

Relational Database Design

08 Hours

 

Relational Model: Basic concepts, Attributes and Domains, CODD's Rules, Relational Integrity: Domain, Referential Integrities, Enterprise Constraints, Database Design: Features of Good Relational Designs, Normalization, Atomic Domains and First Normal Form, Decomposition using Functional Dependencies, Algorithms for Decomposition, 2NF, 3NF, BCNF, Modeling Temporal Data.

 

Unit IV

Database Transactions and Query Processing

08 Hours

Basic concept of a Transaction, Transaction Management, Properties of Transactions, Concept of Schedule, Serial Schedule, Serializability: Conflict and View, Cascaded Aborts, Recoverable and Non-recoverable Schedules, Concurrency Control: Need, Locking Methods, Deadlocks, Time-stamping Methods, Recovery methods : Shadow-Paging and Log-Based Recovery, Checkpoints,

Query Processing, Query Optimization, Performance Tuning.

 

Unit V

Parallel and Distributed Databases

07 Hours

Introduction to Database Architectures: Multi-user DBMS Architectures, Case study- Oracle Architecture. Parallel Databases: Speedup and Scale up, Architectures of Parallel Databases.

Distributed Databases: Architecture of Distributed Databases, Distributed Database Design, Distributed Data Storage, Distributed Transaction: Basics, Failure modes, Commit Protocols, Concurrency Control in Distributed Database.

 

Unit VI

NoSQL Database

08 Hours

Introduction to NoSQL Database, Types and examples of NoSQL Database- Key value store, document store, graph, Performance, Structured verses unstructured data, Distributed Database Model, CAP theorem and BASE Properties, Comparative study of SQL and NoSQL, NoSQL Data Models, Case Study-unstructured data from social media. Introduction to Big Data, HADOOP: HDFS, MapReduce.

 

Books:

Text:

1. Silberschatz A., Korth H., Sudarshan S., "Database System Concepts", McGraw Hill Publishers, ISBN 0-07-120413-X, 6th edition

2. Connally T, Begg C., "Database Systems", Pearson Education, ISBN 81-7808-861-4

3. Pramod J. Sadalage and Martin Fowler, ―NoSQL Distilled‖, Addison Wesley, ISBN-10: 0321826620, ISBN-13: 978-0321826626

 

References:

1. C J Date, ―An Introduction to Database Systems‖, Addison-Wesley, ISBN: 0201144719

2. S.K.Singh, ―Database Systems : Concepts, Design and Application‖, Pearson, Education, ISBN 978-81-317-6092-5

3. Kristina Chodorow, Michael Dirolf, ―MangoDB: The Definitive Guide‖ ,O‘Reilly Publications, ISBN: 978-1-449-34468-9.

4. Adam Fowler, ―NoSQL For Dummies‖, John Wiley & Sons, ISBN-1118905628

5. Kevin Roebuck, ―Storing and Managing Big Data - NoSQL, HADOOP and More‖, Emereopty Limited, ISBN: 1743045743, 9781743045749

6. Joy A. Kreibich, ―Using Sqlite‖, O'REILLY, ISBN: 13:978-93-5110-934-1

7. Garrett Grolemund, ―Hands-on Programming with R‖, O'REILLY, ISBN : 13:978-93-5110-728-6