# Subject Name: DBMS and SQL Server

1. Draw a Data Flow Diagram for a University scenario

set 1

Data Flow Diagram: The data flow diagrams are used to illustrate the data process actives of an organization. The DFD indicate all the sequences including how data generated, stored and processed. Data Flow Diagram for university scenario:

Course registration

Student
Predescribed course

Student

Validate

Edit and Update

Registered Courses

Reformat and Sort

Roll List

Roll List

Teacher

2. Discuss the following with suitable examples: • Relational Algebra Operators Relational Algebra is a procedural language used for manipulating relations .The relational models gives the structures for relations so that data can be stored in that format but relational algebra enables us to retrieve information from relations. The operators of Relational Algebra are:  Select: This is a unary operator that selects a subset of tuples of the relation, which satisfy selection condition. this can be represented by <Select condition> (<relation name>). For ex.: salary>8000(faculty).

 Project : This is also unary operator ,that chooses subset of attributes or columns of a relation and restricts all the tuples of a relation to those attributes. This is represented by <attribute list>(<relation name>). For ex.: ENAME, SAL(FACULTY)  Cartesian Product : This is binary operator that combines information across two relations. Cartesian product of two relations R=(A1,A2,A3,A4,…..) and S=(B1,B2,B3,…)can be represented as: Q=R*S= (A1, A2, A3….B1, B2, B3…).  Join : This is also a binary operator which is widely used and this operator concatenates only tuples that satisfy certain conditions .This is represented by R |cond S.  Union ,Intersection and Difference : These operators are similar to set unio, set interection and set difference .To have union relations must have same number of attributes and corresponding attributes must have same domain.  Divide : This is operators is useful when the query involves the world all. Division operator can be used to answer queries of the form: Names of employees working in all projects, Names of the student’s registerd for all courses etc...This operator is denoted by /.  Renaming: This is often required to refer to the same relation twice in a query in different contexts. This is done by calling a relation by some other name.  Assignment: This is used to assign a relational algebra expression to a relation. The relation can subsequently used wherever the relation algebra expression is needed .This is denoted by T=R S.  Semi –join: Semi –Join operator is basically a join followed by a project on the attributes of first relation. These are used in distributed databases to send only those tuples of the relation which participate in the join to other site. This is denoted by (R S) where denotes project on all attributes of R. • Database Planning It is known fact that the needs of the organization are different at different levels of management. Basically one classifies the needs into three categories as below: 1) Operational database Which contains data assisting day to day activities of the organization? 2) Control database Which contains data assisting needs of middle management to monitor and control business activities by effective and efficient management of man, machines and money? 3) Strategic planning database which contains data required for top management for taking long-term decision?

3 Discuss the following : • Client Server Architecture The client –server model has become widely accepted for implementing DBMS applications. Most commercial DBMSs include facilities towards this . In fact, one has wide choice today to use different client systems, which can interface with different DBMS servers .reasons leading to popularity of client-server system are: more powerful workstations on LANs need for graphical user interfaces for end user  Remove computing load for presentation services from the system managing a shared database resource.  Applications distributed data and applications; use local data or data from multiple servers.  Database Architecture: Horizontal partitioning is a design principle whereby rows of a database table are held separately, rather than splitting by columns (as for normalization). Each partition forms part of a shard, which may in turn be located on a separate database server or physical location. The obvious advantages are that the number of rows in each table are reduced (this reduces index size, thus improves search performance). Also if the sharding is based on some realworld aspect of the data (e.g. European customers vs. American customers) then it may be possible to infer the appropriate shard membership easily and automatically, and then only query the single relevant shard. [1] Sharding in practice is obviously far more difficult than this. Although it has been done for a long time by hand-coding (especially where rows have an obvious grouping, as per the example above), this is often inflexible. There is now a desire to support sharding automatically, both in terms of adding code support for it, and for identifying candidates to be shaded separately. Where distributed computing is used to separate load between multiple servers; either for performance or reliability reasons, a shard approach may also be useful here. This is of particular relevance with distributed database platforms, such as Mnesia.
4. Explain the process of creating databases in SQL Server 2005 with suitable examples

 