Illustrative Example of Physical Schema Usage
|
|
- Steven Carr
- 6 years ago
- Views:
Transcription
1 Example of Physical Usage 14 th February 2014 (30 th March 2001) Illustrative Example of Physical Usage The example assumes that a small RAQUEL DB and its relational model schemas have already been created. Firstly those physical schemas are described that are automatically created when the DB is created. Secondly the physical schemas are altered to illustrate how they can be changed in a RAQUEL DB, to improve performance, resilience, etc. The Example DB and Its s The DB example is called ExampleDB. As part of the creation of the DB, all the system schemas in it are created. These include not only the logical system schemas, but also the physical system schemas and a single default stack schema. A Venn diagram of all these schemas immediately after the creation of ExampleDB looks like :- Logical Sink Source Virtual DB ExampleDB Storage Stack Stack1 Stack1Physical Stack1Location Notice that all the schemas are empty, except that the default stack schema Stack1 contains 2 system schemas. Assume that after DB creation, the logical relational model schemas together with the required subschemas are developed as described in the document Page 1 of 13
2 Example of Physical Usage 14 th February 2014 (30 th March 2001) Illustrative Example of Logical Database Creation. The following Venn diagram describes these logical relational model schemas and subschemas :- Subschema CompanyDB DB ExampleDB Subschema CompanyNorth Virtual UsersNorth DeptsNorth EmpsNorth DEPT EMP USER UsersSouth DeptsSouth EmpsSouth Logical Sink Subschema CompanySouth Source Default action provides the physical data storage required to support these logical schema. In order to explain that default action, the operation of the physical data storage model must first be considered. Physical Data Storage Model The RAQUEL DBMS takes 3 factors into account when physically storing the value of a real (or base) relvar : 1. The relational algebra Storage Expression assigned to the real relvar. The expression includes one or more relvar names, each relvar being a Stored Relvar, i.e. a relvar whose value is physically stored as a coherent whole in one location. When the expression is evaluated, it uses the values of the stored relvars to derive and return the value of the real relvar to which the expression has been assigned. 2. The storage location assigned to each stored relvar. Each location has a stack schema that handles physical data storage at that location. 3. The type of the physical storage mechanism or facility assigned to a stored relvar for use in a particular location. Page 2 of 13
3 Example of Physical Usage 14 th February 2014 (30 th March 2001) Each of the 3 factors is specified using an appropriate kind of assignment. The assignments are : 1. The assignment of a storage expression to a real relvar. The assignment takes the form : R ==Equate StorageExpression where R is the name of the real relvar concerned. ==Equate binds relvar R to the storage expression. 2. A stored relvar is assigned to a storage location, i.e. to the stack schema that handles that location. A relvar may be moved from one storage stack to another or copied from one to another (so that 2 copies exist in 2 storage stacks). The assignments take the form : StackName <--Move { { S } } StackName <--Copy { { S } } where S is the name of the stored relvar concerned. The <--Move and <--Copy assignments execute at the schema level, so the right-hand operand must also be a schema. A schema comprises a set of members and can be construed as a relvalue whose tuples constitute the members of the set. Therefore if the tuples contain the relevant valid attribute values here the names of relvars a relvalue can be used as the righthand operand. 3. The assignment of a physical storage mechanism or facility chosen from those available in the RAQUEL DBMS installation. The assignment takes the form : S ==Physical[ StorageMechanism ] where S is the name of the stored relvar concerned. == Physical binds the stored relvar to the specified physical storage mechanism. StorageMechanism may include not only the kind of physical storage mechanism required, but also associated parameters that define how the mechanism is to be used. The number and nature of the parameters depends on the kind of storage mechanism concerned. Two assignments fall into the Binding category because they bind the recipient operand to the corresponding aspect of its physical storage. The two value assignments assign a value that is a name (that of a stored relvar) to their recipient operand (which is a stack schema). Only real relvars affect physical storage. The creation and values of virtual relvars cannot affect it, because the values of virtual relvars are derived from the values of real relvars. The creation and values of source and sink relvars cannot affect physical storage, because the values of source and sink relvars are stored outside the DB and are not managed by the DBMS. Page 3 of 13
4 Example of Physical Usage 14 th February 2014 (30 th March 2001) The Example s Default Physical Storage s Both default and user-designed storage arrangements are created by use of the kinds of assignment described above. When a real relvar is created, two possibilities arise as to when to create the physical storage arrangements needed to store its value : 1. Create the physical storage arrangements immediately. They are available whenever thereafter the relvar receives any tuples. 2. Create the physical storage arrangements later, at any convenient point in time prior to tuples first being assigned to the relvar. The two timings are orthogonal to the two alternatives of default or user-designed storage arrangements. Thus a user can implement specially designed storage arrangements at any time prior to the receipt of tuples by the relvar. RAQUEL automatically defers the creation of default storage arrangements until the receipt of the first tuples by the relvar. So for ExampleDB, when tuples are first put into the real relvars DEPT and EMP, RAQUEL executes the default storage assignments for them. In this case they are as follows : 1. By default, a real relvar is made a stored relvar as well, i.e. the entire value of each real relvar is held as a single coherent volume of data in one storage unit. Therefore from within a subschema or the Logical the following ==Equate assignments are executed : DEPT ==Equate DEPT EMP ==Equate EMP The storage expressions consist solely of the real relvar s own name. 2. A default stack schema must always exist, created as part of the creation of the DB. By default its name is Stack1 (although if required a different default name could be assigned to a DBMS installation for use instead). Therefore after exiting the previous schema, enter Stack1 ready to create both the stored relvars, DEPT and EMP, in it : Stack1 <==Open 3. From the set of physical storage mechanisms available at each DBMS installation, one must always be specified as the default storage mechanism. By default the values of stored relvars are stored using the default mechanism. Therefore execute == Physical assignments to create the stored relvars in Stack1 : DEPT ==Physical[ DefaultStorageMechanism ] EMP ==Physical[ DefaultStorageMechanism ] Because it is a default, the same physical storage mechanism is used for both DEPT and EMP. Now exit Stack1 : Page 4 of 13
5 Example of Physical Usage 14 th February 2014 (30 th March 2001) Stack1 <==Close Note that no moving or copying of stored relvars is necessary in this case. A user could have executed these default statements earlier if required, and this is true in general for default storage. The following Venn diagram depicts how the default physical storage schemas and their contents relate to each other :- Logical Storage DEPT EMP Stack1 Stack1Location DEPTSt ; DefStorMech EMPSt ; DefStorMech Stack1Physical The name of the storage unit and the name of the default physical storage mechanism constitute the physical storage specification of a stored relvar. DefStorMech is assumed to be the name of the default physical storage mechanism. Because the name of a storage unit is always that of the stored relvar with the suffix St, there is no need to specify via an assignment the name of the storage unit to be used to hold the value of a stored relvar at a location 1. The above diagram includes the Logical because it is this schema and its contents that determine the physical storage schemas and their contents. It can be seen that while the schema architecture for physical data storage allows considerable potential to vary physical storage in a large number of ways, the defaults give the simplest possible storage arrangement. The Logical, Storage and Location s are seen to be identical, with each relvar in this common set mapping directly to its physical storage. 1 If it were required in future to avoid fixed names for storage units, another assignment (say ==Store) could be created as the means of assigning a name of choice. Even then, the current mandatory naming scheme would be useful as a default naming scheme. Page 5 of 13
6 Example of Physical Usage 14 th February 2014 (30 th March 2001) Improving the Physical Data Storage Arrangements At any time, the physical storage arrangements used to hold the value of a real relvar may be altered, regardless of whether they are default arrangements or were specially set up for the relvar. For illustration, let the default arrangements set up for DEPT and EMP be altered to something now considered preferable. It is assumed that both relvars are nonempty and therefore the default storage arrangements are being used to hold data. Assume it is the case that the 3 subschemas are found to be used by 3 separate groups of users. The group using the CompanyDB subschema is located mainly in the Head Office at Newcastle, the group using the CompanyNorth subschema mainly in Manchester and Leeds, and the group using the CompanySouth subschema mainly in Coventry and London. Since there are suitable computer servers in Newcastle, Manchester and Coventry, and the company s computer network links all company offices to all 3 servers, it is decided to store a copy of the data of each subschema on its corresponding local server, in order to store the data as close as possible to its users. To achieve this, an appropriate stack schema and its corresponding physical data storage 2 are to be created on each of these 3 servers. The stack schema on the Newcastle server is to be called CoHQ, that on the Manchester server CoNorth, and that on the Coventry server CoSouth. As a reminder, the attributes of relvars DEPT and EMP are, in terms of the original attribute assignment statements : DEPT <==Attribute[ DeptNo <== Text; Budget <== Number; Area <== { { North } { South } } ] EMP <==Attribute[ EmpNo <== Text; EName <== Text; DeptNo <== Text; Salary <== Number; Tax <== Number ] Given the relvar usage of the 3 groups of users, let it be decided to store the relvalues of DEPT and EMP in the following fragments : EMP-Fin. This is to hold the financial data about all employees i.e. attributes EmpNo, Salary and Tax. EMP-N. This is to hold the non financial data i.e. attributes EmpNo, EName, and DeptNo about all employees from the northern part of the company. 2 Note that data is physically stored separately from the stack schema that manages it, not within that stack schema. Page 6 of 13
7 Example of Physical Usage 14 th February 2014 (30 th March 2001) EMP-S. This is to hold the non financial data i.e. attributes EmpNo, EName, and DeptNo about all employees from the southern part of the company. DEPT-N. This is to hold department data i.e. attributes DeptNo, Budget, and Area about all departments in the northern part of the company. DEPT-S. This is to hold department data i.e. attributes DeptNo, Budget, and Area about all departments in the southern part of the company. Each fragment is implemented in RAQUEL as a stored relvar. One copy of all the stored relvars is to be held with the CoHQ stack schema. One copy of the stored relvars EMP-N and DEPT-N is to be held with the CoNorth stack schema. One copy of the stored relvars EMP-S and DEPT-S is to be held with the CoSouth stack schema. Thus there will be 2 copies of all the stored relvars except EMP-Fin, and the DBMS will have to keep the 2 copies consistent for those stored relvars. Implementing the Improved Physical Data Storage Arrangements The implementation proceeds in the following sequence : 1. Create any required Stack s that do not already exist. 2. Create the required additional stored relvars in the required Stack s by assigning the required physical storage mechanism or facility to it. 3. Assign the correct relvalue to each new stored relvar. 4. Assign a Storage Expression to each relevant real relvar so that it derives its value from the relvalues of its stored relvars via the Storage Expression. 5. Remove any now unused stored relvars. 1. Create New Stack s Let the default stack schema Stack1 and its corresponding data storage (which currently holds all the DB s data) be already on the Newcastle server. Then the first task is to create a new stack schema on each of the Manchester and Coventry servers, and rename the Newcastle stack schema CoHQ. Firstly the DB ExampleDB is opened to give access to its member schemas (which include the stack schemas) : ExampleDB <==Open 3 Then create the 2 new Stack s : 3 Security considerations are ignored here, so including an identifier parameter in the assignment is also ignored. Page 7 of 13
8 Example of Physical Usage 14 th February 2014 (30 th March 2001) where 4 : CoNorth ==Stack[ URLMan/DefaultMan/ExampleDB/DB/LocationN ] CoSouth ==Stack[ URLCov/DefaultCov/ExampleDB/DB/LocationS ] URLMan and URLCov denote the network links from the computer holding the DBMS installation to the Manchester and Coventry computers respectively on which the stacks will be created. DefaultMan and DefaultCov are the standard initial path names used from the root directory to the directory holding RAQUEL DBs on Manchester and Coventry computers respectively. ExampleDB is the name of the sub-directory holding the ExampleDB DB. DB is the name of the sub-directory holding the DB (as opposed to the sub-directory holding the Meta DB). LocationN and LocationS are the path and directory names of the locations that house the physical data of the stack schemas. Let the default stack be renamed CoHQ for consistency : CoHQ <--Rename Stack1 The Rename assignment has been generalised to handle schemas as well as relvars. 2. Create New Stored Relvars Each stored relvar is created in the location that will store the physical data that comprises the relvar s value. A stored relvar can be created by assigning to it the physical storage mechanism that it is to use. The assignment is executed inside the stack schema which manages the location in question. The statements to achieve this for all the new stored relvars in each of the 3 stack schemas are : CoNorth <==Open EMP-N ==Physical[ B-Tree, EmpNo ] DEPT-N ==Physical[ IndexSeq, DeptNo ] CoNorth <==Close CoSouth <==Open EMP-S ==Physical[ B-Tree, EmpNo ] DEPT-S ==Physical[ B-Tree, DeptNo ] CoSouth <==Close 4 The path names assume a Unix/Linux computer system and a traditional hierarchical directory structure. This is for purposes of illustration only, and should not be construed as preventing very different path names from being used if they are preferred. Page 8 of 13
9 Example of Physical Usage 14 th February 2014 (30 th March 2001) CoHQ <==Open EMP-Fin ==Physical[ Hash, EmpNo ] EMP-N ==Physical[ B-Tree, EmpNo ] EMP-S ==Physical[ B-Tree, EmpNo ] DEPT-N ==Physical[ IndexSeq, DeptNo ] DEPT-S ==Physical[ IndexSeq, DeptNo ] CoHQ <==Close It is not necessary to open a Location within a stack schema in order to execute a ==Physical assignment. The assignments have all been executed within the context of a stack schema. In fact it is never necessary to open a component schema of a stack schema. All the assignments required operate at the stack schema level. The significance of the component schemas within a stack schema is that they are used to organise the meta data needed to manage the physical storage of relvalue data. Therefore they are referenced when retrieving meta data via the Meta operator. Each ==Physical assignment creates a stored relvar by binding the relvar s name to the physical storage mechanism to be used to store its data. The parameters appended to the assignment specify which physical storage mechanism is to be used and the controlling factor(s) to be applied to its execution; the latter can vary since they depend on the nature of the mechanism. For purposes of illustration, it is assumed here that the only parameters needed are the name of the storage mechanism and the name(s) of the attribute(s) to be used as a physical key by the facility. The choice of physical storage mechanisms in the above statements a Hash File system, a B-Tree system, and an Index Sequential system and their usage for the stored relvars, is purely arbitrary and used to illustrate the possibilities that could be applicable. The name of the storage mechanism given as a parameter is the name used within the RAQUEL notation to refer to a particular storage stack plugged into the software architecture of the DBMS installation. (A storage stack is the software module that actually executes everything to do with the physical storage of data). The portfolio of storage stacks plugged into a particular installation can vary; so what can appear as a valid parameter(s) to a ==Physical assignment varies accordingly. The examples show that it is possible for different copies of a stored relvar to use different kinds of physical storage mechanism in different stack schemas. The copy of DEPT-S in stack CoSouth uses a B-Tree file while the copy in stack CoHQ uses an Index Sequential file. 3. Assign Relvalues to Stored Relvars Now that stored relvars have been created with physical storage, it is possible to assign them a relvalue. Page 9 of 13
10 Example of Physical Usage 14 th February 2014 (30 th March 2001) The assignment of a relvalue to a stored relvar can be carried out either within the Storage or within a stack schema. In both cases, for those stored relvars that have multiple copies in different stack schemas, the DBMS will automatically propagate the assigned relvalues to all the copies. In the current situation where all the stored relvars are to be dealt with, it is easier to deal with them from within the Storage, rather than visit each stack schema in turn. Therefore the following assignments are used : Storage <==Open EMP-Fin <--Store EMP Project[ EmpNo, Salary, Tax ] DEPT-N <--Store DEPT Restrict[ Area = North ] EMP-N <--Store EMP Project[ EmpNo, EName, DeptNo ] Join[[ DeptNo ] DEPT-N DEPT-S <--Store DEPT Restrict[ Area = South ] EMP-S <--Store EMP Project[ EmpNo, EName, DeptNo ] Join[[ DeptNo ] DEPT-S Storage <==Close In each <--Store assignment, the expression on the RHS is evaluated and physically stored as the value of the stored relvar on the LHS. (Hence <--Store is a value assignment, not a binding assignment). In this case, the relvalues of the stored relvars are derived from those of the preexisting relvars EMP and DEPT. The value of EMP-Fin is a projection of the relevant attributes of EMP. The value of DEPT-N is a restriction of DEPT such that the tuples in the result contain only the value North in the Area attribute. The value of EMP-N is derived by projecting out the relevant attributes of EMP and then limiting the tuples in the result to those corresponding to a northern department; the latter is achieved by means of a left-hand semi-join with DEPT-N, which contains only northern departments. The corresponding approach is used to derive the values of DEPT-S and EMP-S. Note : The above statements would still be valid even if EMP and DEPT were empty of tuples. The reltypes and keys of the stored relvars are automatically derived from the relvalues assigned to them. (Ad hoc constraints are enforced at the level of the logical relational model. They do not exist in the data storage model). 4. Assign Storage Expressions to Real Relvars Storage Expressions are now assigned to the real relvars EMP and DEPT. The assignment values overwrite the previous assignment values (which in this case were the default values). Page 10 of 13
11 Example of Physical Usage 14 th February 2014 (30 th March 2001) This is achieved as follows : Logical <==Open EMP ==Equate ( EMP-N Union EMP-S ) Join[ EmpNo ] EMP-Fin DEPT ==Equate DEPT-N Union DEPT-S Logical <==Close The value of the left-hand relvar is now obtained by executing the right-hand expression. In this case, the names EMP and DEPT previously referred to both stored relvars and real relvars. Now the names only refer to real relvars. Because previously each name referenced 2 relvars by default, when the stored relvars ceased to be used they are no longer referenced in the Storage Expressions that have just been assigned - the DBMS automatically removes the stored relvars to clean up after its default so to speak. 5. Remove Unwanted Stored Relvars There are no stored relvars that are no longer needed and which should therefore be removed. Thus the DB can now be exited : ExampleDB <==Close Note that the stored relvars named EMP and DEPT were only removed by default because they were created by default. If stored relvars named EMP and DEPT were to be created by deliberate user action, then they would have to be removed by deliberate user action; no default removal would occur as a result of the stored relvars having the same names as real relvars. The set of all relvar names appearing in the logical relational model those of real, virtual, source and sink relvars and the set of all relvar names appearing in the physical storage model those of stored relvars are disjoint. Therefore the same name can arise in both sets (although consideration of good design may affect the extent to which relvar names are duplicated). It would be undesirable for relvar names to be unavailable in the logical model due to their appearance in the physical model, since there is no requirement for the user of the logical model to have any awareness of its implementation, e.g. of the stored relvars that it uses. Furthermore circumstances may arise in which it is useful for a DB Administrator to employ the same relvar names in the physical model to help relate storage considerations to the logical model. Overview of Improved Physical Data Storage Arrangements The following Venn diagram illustrates the revised physical data storage : Page 11 of 13
12 Example of Physical Usage 14 th February 2014 (30 th March 2001) Stack CoHQ CoHQLocation EMP-FinSt ; Hash DEPT-NSt ; IndexSeq DEPT-SSt ; IndexSeq EMP-NSt ; B-Tree EMP-SSt ; B-Tree Storage EMP-Fin DEPT-N EMP-N DEPT-S EMP-S DEPT-NSt ; IndexSeq EMP-NSt ; IndexSeq DEPT-SSt ; B-Tree EMP-SSt ; B-Tree Stack CoNorth Stack CoSouth Note that the Storage and the Location of the CoHQ Stack are identical sets, due to the CoHQ Stack holding a copy of all the stored relvars in the ExampleDB. Comments on the Design Because the RAQUEL DBMS implements a formal model of physical storage, the physical data storage arrangements will be executed regardless of how well they are designed. Nevertheless good physical design is important if the resultant data storage is to be efficient and effective. The example discussed above includes two aspects of design that are important in practice but which the example glosses over : 1. The placing of data near to the users of that data, so that the minimum of overheads are incurred when users access that data. In the example, this was handled by storing the data of copies of fragments of the 2 real relvars EMP and DEPT with stack schemas in locations that were easily and efficiently accessed by the users. In reality one would need to investigate the access times and networking problems involved when spreading out the data across a network, and what overheads would be incurred by storing more than one Page 12 of 13
13 Example of Physical Usage 14 th February 2014 (30 th March 2001) copy of a fragment. The benefits of the resilience gained from storing multiple copies of the same data should also be considered, as should security considerations. 2. The design of fragments to minimise the overheads involved in accessing them. It is important to design fragments so that they are disjoint. This not only minimises data storage requirements but also means that access can be limited to the minimum number of fragments, thereby improving physical performance. This was achieved in the example as follows. For horizontal fragments, EMP-N and EMP-S, and DEPT-N and DEPT-S, the fragments were made completely disjoint by employing suitable restriction constraints. For vertical fragments, EMP-Fin with EMP-N and EMP-S, the fragments were made as disjoint as possible by projecting out complementary attributes. The only attribute overlap was the Key, which has to be common to all vertical fragments in order to allow them to be recombined. Appendix Use of the ==Stack Assignment In addition to the monadic use illustrated earlier, the assignment can also be used dyadically. For example : CoHQ ==Stack[ URLNcl/DefaultNcl/ExampleDB/DB/LocationNcl ] Stack1 This assignment creates a stack schema whose value is that of the right-hand operand (Stack1) and whose location is specified by the parameter, and binds it to the name given as the left-hand parameter which thereafter is used to reference that stack schema. Whereas the monadic use creates and assigns to the left-hand operand name a stack schema whose component schemas are empty, the dyadic use creates a copy of a stack schema value in a new location and with a new name; there is no reason why the component schemas of the copied stack schema need be empty. Use of the <--Remove Assignment The <--Remove assignment is generalised so that it applies to schemas as well as relvars. Thus stack schema Stack1 (say) could be removed with the statement : or Stack1 <--Remove Stack1 <--Remove[ PathName ] The effect of the optional parameter in the latter case is to archive the stack schema value denoted by Stack1 in the directory defined by PathName ; the archive could be used in future if necessary to restore the stack. Page 13 of 13
Illustrative Example of Logical Database Creation
Illustrative Example of Logical Database Creation A small RAQUEL DB is created to illustrate what is involved as regards the logical schemas of a RAQUEL DB. Create a Database or ExampleDB
More informationIllustrative Example of Logical Database Creation
Illustrative Example of Logical Database Creation A small RAQUEL DB is created to illustrate what is involved as regards the logical schemas of a RAQUEL DB. Create a Database or ExampleDB
More informationStored Relvars 18 th April 2013 (30 th March 2001) David Livingstone. Stored Relvars
Stored Relvars Introduction The purpose of a Stored Relvar (= Stored Relational Variable) is to provide a mechanism by which the value of a real (or base) relvar may be partitioned into fragments and/or
More informationRAQUEL s Relational Operators
Contents RAQUEL s Relational Operators Introduction 2 General Principles 2 Operator Parameters 3 Ordinary & High-Level Operators 3 Operator Valency 4 Default Tuples 5 The Relational Algebra Operators in
More informationExamples of Relational Value Assignments
Examples of Relational Value Assignments Example Relvars - First Set Let relvar EMP contain sample data of the ID number and name of employees, displayed in tabular format as :- No Name 1 Jack 2 Jill Example
More informationRAQUEL Parser Code Design
Parser Input A sequence of pointers-to-tokens. RAQUEL Parser Code Design Parser Output A tree of tokens linked together by pointers AND a sequence of error codes. Pre Conditions None. Post Conditions Length(
More informationThe Syntax of Relational Operators
The Syntax of Relational Operators This document records the syntax i.e. keywords and parameters - of all the operators at the relational level of abstraction. Note : these operators are all members of
More informationGeneralising Relational Algebra Set Operators
Generalising Relational lgebra Set Operators Introduction The relational algebra join operators, Natural Join and Generalised (or Theta) Join, can both be generalised to so that they incorporate semi joins
More informationCreating SQL Tables and using Data Types
Creating SQL Tables and using Data Types Aims: To learn how to create tables in Oracle SQL, and how to use Oracle SQL data types in the creation of these tables. Outline of Session: Given a simple database
More informationManaging the Database
Slide 1 Managing the Database Objectives of the Lecture : To consider the roles of the Database Administrator. To consider the involvmentof the DBMS in the storage and handling of physical data. To appreciate
More informationThe Logical Design of the Tokeniser
Page 1 of 21 The Logical Design of the Tokeniser Purpose 1. To split up a character string holding a RAQUEL statement expressed in linear text, into a sequence of character strings (called word tokens),
More informationCS403- Database Management Systems Solved MCQS From Midterm Papers. CS403- Database Management Systems MIDTERM EXAMINATION - Spring 2010
CS403- Database Management Systems Solved MCQS From Midterm Papers April 29,2012 MC100401285 Moaaz.pk@gmail.com Mc100401285@gmail.com PSMD01 CS403- Database Management Systems MIDTERM EXAMINATION - Spring
More informationIan Kenny. November 28, 2017
Ian Kenny November 28, 2017 Introductory Databases Relational Algebra Introduction In this lecture we will cover Relational Algebra. Relational Algebra is the foundation upon which SQL is built and is
More informationCS403- Database Management Systems Solved Objective Midterm Papers For Preparation of Midterm Exam
CS403- Database Management Systems Solved Objective Midterm Papers For Preparation of Midterm Exam Question No: 1 ( Marks: 1 ) - Please choose one Which of the following is NOT a feature of Context DFD?
More informationNULLs & Outer Joins. Objectives of the Lecture :
Slide 1 NULLs & Outer Joins Objectives of the Lecture : To consider the use of NULLs in SQL. To consider Outer Join Operations, and their implementation in SQL. Slide 2 Missing Values : Possible Strategies
More informationAmendments & Transactions
Slide 1 Amendments & Transactions Objectives of the Lecture : To consider amendments to a relation; To consider transactions in SQL. Slide 2 Relational Amendment Strictly speaking, relational amendment
More informationTo understand the concept of candidate and primary keys and their application in table creation.
CM0719: Database Modelling Seminar 5 (b): Candidate and Primary Keys Exercise Aims: To understand the concept of candidate and primary keys and their application in table creation. Outline of Activity:
More informationSample Question Paper
Sample Question Paper Marks : 70 Time:3 Hour Q.1) Attempt any FIVE of the following. a) List any four applications of DBMS. b) State the four database users. c) Define normalization. Enlist its type. d)
More informationDatabase Applications (15-415)
Database Applications (15-415) DBMS Internals- Part V Lecture 13, March 10, 2014 Mohammad Hammoud Today Welcome Back from Spring Break! Today Last Session: DBMS Internals- Part IV Tree-based (i.e., B+
More informationDatabase Applications (15-415)
Database Applications (15-415) DBMS Internals- Part V Lecture 15, March 15, 2015 Mohammad Hammoud Today Last Session: DBMS Internals- Part IV Tree-based (i.e., B+ Tree) and Hash-based (i.e., Extendible
More informationDatabase Modelling. Lecture 4 (b): Database Integrity, Keys & Constraints. Akhtar Ali 10/14/2014 1
Database Modelling Lecture 4 (b): Database Integrity, Keys & Constraints Akhtar Ali 10/14/2014 1 Learning Objectives 1. To consider Referential Integrity & Foreign Keys 2. To consider Referential Integrity
More informationQUERY OPTIMIZATION FOR DATABASE MANAGEMENT SYSTEM BY APPLYING DYNAMIC PROGRAMMING ALGORITHM
QUERY OPTIMIZATION FOR DATABASE MANAGEMENT SYSTEM BY APPLYING DYNAMIC PROGRAMMING ALGORITHM Wisnu Adityo NIM 13506029 Information Technology Department Institut Teknologi Bandung Jalan Ganesha 10 e-mail:
More informationBasant Group of Institution
Basant Group of Institution Visual Basic 6.0 Objective Question Q.1 In the relational modes, cardinality is termed as: (A) Number of tuples. (B) Number of attributes. (C) Number of tables. (D) Number of
More informationMobile and Heterogeneous databases
Mobile and Heterogeneous databases Heterogeneous Distributed Databases Query Processing A.R. Hurson Computer Science Missouri Science & Technology 1 Note, this unit will be covered in two lectures. In
More informationMahathma Gandhi University
Mahathma Gandhi University BSc Computer science III Semester BCS 303 OBJECTIVE TYPE QUESTIONS Choose the correct or best alternative in the following: Q.1 In the relational modes, cardinality is termed
More informationDatabase Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No.
Database Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. # 5 Structured Query Language Hello and greetings. In the ongoing
More informationSQL Structured Query Language Introduction
SQL Structured Query Language Introduction Rifat Shahriyar Dept of CSE, BUET Tables In relational database systems data are represented using tables (relations). A query issued against the database also
More informationThe Relational Model
The Relational Model What is the Relational Model Relations Domain Constraints SQL Integrity Constraints Translating an ER diagram to the Relational Model and SQL Views A relational database consists
More informationDatabase Systems Concepts *
OpenStax-CNX module: m28156 1 Database Systems Concepts * Nguyen Kim Anh This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License 3.0 Abstract This module introduces
More informationCA IDMS. Logical Record Facility Guide. Release
CA IDMS Logical Record Facility Guide Release 18500 This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to as the Documentation ) is
More informationActive Directory Synchronisation
Active Directory Synchronisation Table of Contents Overview... 3 Important Notes... 3 Installation & Configuration... 4 Configuration & Field Mappings... 4 Attribute Mappings... 7 Adding New Mappings...
More informationChapter 2. DB2 concepts
4960ch02qxd 10/6/2000 7:20 AM Page 37 DB2 concepts Chapter 2 Structured query language 38 DB2 data structures 40 Enforcing business rules 49 DB2 system structures 52 Application processes and transactions
More informationChapter 18: Parallel Databases
Chapter 18: Parallel Databases Introduction Parallel machines are becoming quite common and affordable Prices of microprocessors, memory and disks have dropped sharply Recent desktop computers feature
More informationRelational Model History. COSC 416 NoSQL Databases. Relational Model (Review) Relation Example. Relational Model Definitions. Relational Integrity
COSC 416 NoSQL Databases Relational Model (Review) Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Relational Model History The relational model was proposed by E. F. Codd
More informationDatabases. Relational Model, Algebra and operations. How do we model and manipulate complex data structures inside a computer system? Until
Databases Relational Model, Algebra and operations How do we model and manipulate complex data structures inside a computer system? Until 1970.. Many different views or ways of doing this Could use tree
More informationDatabases IIB: DBMS-Implementation Exercise Sheet 13
Prof. Dr. Stefan Brass January 27, 2017 Institut für Informatik MLU Halle-Wittenberg Databases IIB: DBMS-Implementation Exercise Sheet 13 As requested by the students, the repetition questions a) will
More informationChapter 3. Introducation to Relational Database 9/2/2014 CSC4341 1
Chapter 3 Introducation to Relational Database 9/2/2014 CSC4341 1 Relational Model Structure aspect Data in the database is perceived by the user as tables and nothing but tables Integrity aspect Those
More informationDistributed KIDS Labs 1
Distributed Databases @ KIDS Labs 1 Distributed Database System A distributed database system consists of loosely coupled sites that share no physical component Appears to user as a single system Database
More informationData about data is database Select correct option: True False Partially True None of the Above
Within a table, each primary key value. is a minimal super key is always the first field in each table must be numeric must be unique Foreign Key is A field in a table that matches a key field in another
More informationCS211 Lecture: Database Querying and Updating
CS211 Lecture: Database Querying and Updating last revised 9/30/2004 Objectives: 1. To introduce the relational algebra. 2. To introduce the SQL select statement 3. To introduce the SQL insert, update,
More informationSMD149 - Operating Systems - File systems
SMD149 - Operating Systems - File systems Roland Parviainen November 21, 2005 1 / 59 Outline Overview Files, directories Data integrity Transaction based file systems 2 / 59 Files Overview Named collection
More informationRelational Algebra. Procedural language Six basic operators
Relational algebra Relational Algebra Procedural language Six basic operators select: σ project: union: set difference: Cartesian product: x rename: ρ The operators take one or two relations as inputs
More informationRelational Data Model
Relational Data Model 1. Relational data model Information models try to put the real-world information complexity in a framework that can be easily understood. Data models must capture data structure
More informationDATABASE DEVELOPMENT (H4)
IMIS HIGHER DIPLOMA QUALIFICATIONS DATABASE DEVELOPMENT (H4) December 2017 10:00hrs 13:00hrs DURATION: 3 HOURS Candidates should answer ALL the questions in Part A and THREE of the five questions in Part
More information11. Architecture of Database Systems
11. Architecture of Database Systems 11.1 Introduction Software systems generally have an architecture, ie. possessing of a structure (form) and organisation (function). The former describes identifiable
More informationGift Aid Claim Processing Changes from April 2013 Donor Strategy & Member Strategy
Gift Aid Claim Processing Changes from April 2013 Donor Strategy & Member Strategy Relevant to version 4.12.1 onwards Document Updated: 19/06/13 Contents Charities Online... 2 Gift Aid Certificates...
More informationThe Relational Model. Chapter 3. Comp 521 Files and Databases Fall
The Relational Model Chapter 3 Comp 521 Files and Databases Fall 2012 1 Why Study the Relational Model? Most widely used model by industry. IBM, Informix, Microsoft, Oracle, Sybase, etc. It is simple,
More informationCPS221 Lecture: Relational Database Querying and Updating
CPS221 Lecture: Relational Database Querying and Updating last revised 8/5/10 Objectives: 1. To introduce the SQL select statement 2. To introduce the SQL insert, update, and delete statements Materials:
More informationAn Introduction to Databases and Database Management Systems.
An Introduction to Databases and Database Management Systems. Introduction An important aspect of most every business is record keeping. In our information society, this has become an important aspect
More informationDatabases - 4. Other relational operations and DDL. How to write RA expressions for dummies
Databases - 4 Other relational operations and DDL How to write RA expressions for dummies Step 1: Identify the relations required and CP them together Step 2: Add required selections to make the CP Step
More informationCreate Rank Transformation in Informatica with example
Create Rank Transformation in Informatica with example Rank Transformation in Informatica. Creating Rank Transformation in Inforamtica. Creating target definition using Target designer. Creating a Mapping
More informationEssay Question: Explain 4 different means by which constrains are represented in the Conceptual Data Model (CDM).
Question 1 Essay Question: Explain 4 different means by which constrains are represented in the Conceptual Data Model (CDM). By specifying participation conditions By specifying the degree of relationship
More informationRelational Database Management Systems Oct I. Section-A: 5 X 4 =20 Marks
Relational Database Management Systems Oct 2015 1 I. Section-A: 5 X 4 =20 Marks 1. Data Consistency Files and application programs are created by different programmers over a long period of time, the files
More informationCPS221 Lecture: Relational Database Querying and Updating
CPS221 Lecture: Relational Database Querying and Updating Objectives: last revised 10/29/14 1. To introduce the SQL select statement 2. To introduce the SQL insert, update, and delete statements Materials:
More informationDatabase Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No.
Database Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. # 3 Relational Model Hello everyone, we have been looking into
More information5 Integrity Constraints and Triggers
5 Integrity Constraints and Triggers 5.1 Integrity Constraints In Section 1 we have discussed three types of integrity constraints: not null constraints, primary keys, and unique constraints. In this section
More informationDatabases - 3. Null, Cartesian Product and Join. Null Null is a value that we use when. Something will never have a value
Databases - 3 Null, Cartesian Product and Join Null Null is a value that we use when Something will never have a value Something will have a value in the future Something had a value but doesn t at the
More informationOBJECTIVES. How to derive a set of relations from a conceptual data model. How to validate these relations using the technique of normalization.
7.5 逻辑数据库设计 OBJECTIVES How to derive a set of relations from a conceptual data model. How to validate these relations using the technique of normalization. 2 OBJECTIVES How to validate a logical data model
More informationDatabases - 3. Null, Cartesian Product and Join. Null Null is a value that we use when. Something will never have a value
Databases - 3, Cartesian Product and Join is a value that we use when Something will never have a value Something will have a value in the future Something had a value but doesn t at the moment is a reserved
More informationChapter. Relational Database Concepts COPYRIGHTED MATERIAL
Chapter Relational Database Concepts 1 COPYRIGHTED MATERIAL Every organization has data that needs to be collected, managed, and analyzed. A relational database fulfills these needs. Along with the powerful
More informationTechno India Batanagar Computer Science and Engineering. Model Questions. Subject Name: Database Management System Subject Code: CS 601
Techno India Batanagar Computer Science and Engineering Model Questions Subject Name: Database Management System Subject Code: CS 601 Multiple Choice Type Questions 1. Data structure or the data stored
More informationOutline. q Database integration & querying. q Peer-to-Peer data management q Stream data management q MapReduce-based distributed data management
Outline n Introduction & architectural issues n Data distribution n Distributed query processing n Distributed query optimization n Distributed transactions & concurrency control n Distributed reliability
More informationAdvanced Databases: Parallel Databases A.Poulovassilis
1 Advanced Databases: Parallel Databases A.Poulovassilis 1 Parallel Database Architectures Parallel database systems use parallel processing techniques to achieve faster DBMS performance and handle larger
More informationMore Relational Algebra
More Relational Algebra LECTURE 6 Dr. Philipp Leitner philipp.leitner@chalmers.se @xleitix LECTURE 6 Covers Parts of Chapter 8 Parts of Chapter 14 (high-level!) Please read this up until next lecture!
More informationDatabase Management Systems MIT Introduction By S. Sabraz Nawaz
Database Management Systems MIT 22033 Introduction By S. Sabraz Nawaz Recommended Reading Database Management Systems 3 rd Edition, Ramakrishnan, Gehrke Murach s SQL Server 2008 for Developers Any book
More informationKing Fahd University of Petroleum and Minerals
1 King Fahd University of Petroleum and Minerals Information and Computer Science Department ICS 334: Database Systems Semester 041 Major Exam 1 18% ID: Name: Section: Grades Section Max Scored A 5 B 25
More informationTABLE OF CONTENT. Introduction 02. Installation & Implementation 04. Operational Guide 12. Menu Options 12 Masters 13
TABLE OF CONTENT Introduction 02 Installation & Implementation 04 Operational Guide 12 Menu Options 12 Masters 13 Group 14 Company 16 Deductee 18 Employee 20 Receipt No. Master 21 CIT Details 22 Transactions
More informationFundamentals of the J Programming Language
2 Fundamentals of the J Programming Language In this chapter, we present the basic concepts of J. We introduce some of J s built-in functions and show how they can be applied to data objects. The pricinpals
More informationRelay Setting Tools CAP 501 Operator s Manual
Relay Setting Tools CAP 501 Operator s Manual $%% 1MRS751271-MUM Issue date: 31.01.2000 Program revision: 2.0.0 Documentation version: B CAP 501 Relay Setting Tools Operator s Manual Copyright 2000 ABB
More informationENHANCING DATA MODELS WITH TUNING TRANSFORMATIONS
ENHANCING DATA MODELS WITH TUNING TRANSFORMATIONS Jason E. Mattinson and Andrew J. McAllister Faculty of Computer Science, University of New Brunswick Abstract Fredericton, New Brunswick, Canada, E3B 5A3
More informationHandout 9: Imperative Programs and State
06-02552 Princ. of Progr. Languages (and Extended ) The University of Birmingham Spring Semester 2016-17 School of Computer Science c Uday Reddy2016-17 Handout 9: Imperative Programs and State Imperative
More informationCompiler Design. Fall Control-Flow Analysis. Prof. Pedro C. Diniz
Compiler Design Fall 2015 Control-Flow Analysis Sample Exercises and Solutions Prof. Pedro C. Diniz USC / Information Sciences Institute 4676 Admiralty Way, Suite 1001 Marina del Rey, California 90292
More informationLecture 01. Fall 2018 Borough of Manhattan Community College
Lecture 01 Fall 2018 Borough of Manhattan Community College 1 2 Introduction A database (DB) is a collection of related data. A database management system (DBMS) is the software that manages and controls
More informationSDMX self-learning package No. 5 Student book. Metadata Structure Definition
No. 5 Student book Metadata Structure Definition Produced by Eurostat, Directorate B: Statistical Methodologies and Tools Unit B-5: Statistical Information Technologies Last update of content December
More informationTransactional Block Store
Transactional Block Store 1 Introduction The goal of this project is to construct a transactional block store The block store must be transactional. You must use the write anywhere file layout (WAFL) scheme
More informationAnswer key SUBJECT : COMPUTER SCIENCE Time : 3 hour 15 min Max. marks : 70
Answer key SUBJECT : COMPUTER SCIENCE Time : 3 hour 5 min Max. marks : 7 I. Answer ALL the questions x =. Expand the term DDRRAM. Double Data Rate Random Access Memory 2. Write the standard symbol for
More informationRELATIONAL DATA MODEL: Relational Algebra
RELATIONAL DATA MODEL: Relational Algebra Outline 1. Relational Algebra 2. Relational Algebra Example Queries 1. Relational Algebra A basic set of relational model operations constitute the relational
More informationWhy Study the Relational Model? The Relational Model. Relational Database: Definitions. The SQL Query Language. Relational Query Languages
Why Study the Relational Model? The Relational Model Most widely used model. Vendors: IBM, Informix, Microsoft, Oracle, Sybase, etc. Legacy systems in older models E.G., IBM s IMS Recent competitor: object-oriented
More informationIntroduction to SET08104
Introduction to SET08104 SET08104 Database Systems Copyright @ Napier University Introduction Before Databases: Each application suite had independent master files. Duplication of data could lead to inconsistencies
More informationIEEE LANGUAGE REFERENCE MANUAL Std P1076a /D3
LANGUAGE REFERENCE MANUAL Std P1076a-1999 2000/D3 Clause 10 Scope and visibility The rules defining the scope of declarations and the rules defining which identifiers are visible at various points in the
More informationQuery Processing SL03
Distributed Database Systems Fall 2016 Query Processing Overview Query Processing SL03 Distributed Query Processing Steps Query Decomposition Data Localization Query Processing Overview/1 Query processing:
More informationObjectives. After completing this lesson, you should be able to do the following:
Objectives After completing this lesson, you should be able to do the following: Describe the types of problems that subqueries can solve Define subqueries List the types of subqueries Write single-row
More informationMobile and Heterogeneous databases Distributed Database System Query Processing. A.R. Hurson Computer Science Missouri Science & Technology
Mobile and Heterogeneous databases Distributed Database System Query Processing A.R. Hurson Computer Science Missouri Science & Technology 1 Note, this unit will be covered in four lectures. In case you
More informationGlossary. abort. application schema
Glossary abort An abnormal termination of a transaction. When a transaction aborts, its changes to the database are erased, and the database is effectively restored to its state as of the moment the transaction
More informationTables From Existing Tables
Creating Tables From Existing Tables After completing this module, you will be able to: Create a clone of an existing table. Create a new table from many tables using a SQL SELECT. Define your own table
More informationCIS 330: Applied Database Systems. ER to Relational Relational Algebra
CIS 330: Applied Database Systems ER to Relational Relational Algebra 1 Logical DB Design: ER to Relational Entity sets to tables: ssn name Employees lot CREATE TABLE Employees (ssn CHAR(11), name CHAR(20),
More informationDC62 Database management system JUNE 2013
Q2 (a) Explain the differences between conceptual & external schema. Ans2 a. Page Number 24 of textbook. Q2 (b) Describe the four components of a database system. A database system is composed of four
More informationDistributed minimum spanning tree problem
Distributed minimum spanning tree problem Juho-Kustaa Kangas 24th November 2012 Abstract Given a connected weighted undirected graph, the minimum spanning tree problem asks for a spanning subtree with
More informationData Base Concepts. Course Guide 2
MS Access Chapter 1 Data Base Concepts Course Guide 2 Data Base Concepts Data The term data is often used to distinguish binary machine-readable information from textual human-readable information. For
More informationSets MAT231. Fall Transition to Higher Mathematics. MAT231 (Transition to Higher Math) Sets Fall / 31
Sets MAT231 Transition to Higher Mathematics Fall 2014 MAT231 (Transition to Higher Math) Sets Fall 2014 1 / 31 Outline 1 Sets Introduction Cartesian Products Subsets Power Sets Union, Intersection, Difference
More informationDatabase Management Systems (COP 5725) Homework 3
Database Management Systems (COP 5725) Homework 3 Instructor: Dr. Daisy Zhe Wang TAs: Yang Chen, Kun Li, Yang Peng yang, kli, ypeng@cise.uf l.edu November 26, 2013 Name: UFID: Email Address: Pledge(Must
More informationDatabase Design and Tuning
Database Design and Tuning Chapter 20 Comp 521 Files and Databases Spring 2010 1 Overview After ER design, schema refinement, and the definition of views, we have the conceptual and external schemas for
More informationThe Relational Model. Chapter 3. Comp 521 Files and Databases Fall
The Relational Model Chapter 3 Comp 521 Files and Databases Fall 2014 1 Why the Relational Model? Most widely used model by industry. IBM, Informix, Microsoft, Oracle, Sybase, MySQL, Postgres, Sqlite,
More informationThe Auslan System Sign Editor User Manual
The Auslan System Sign Editor User Manual Preface: This manual explains how to construct, edit, or design their own sign language signs. The software referred to in this manual, the Auslan Sign Editor,
More informationQUERY PROCESSING & OPTIMIZATION CHAPTER 19 (6/E) CHAPTER 15 (5/E)
QUERY PROCESSING & OPTIMIZATION CHAPTER 19 (6/E) CHAPTER 15 (5/E) 2 LECTURE OUTLINE Query Processing Methodology Basic Operations and Their Costs Generation of Execution Plans 3 QUERY PROCESSING IN A DDBMS
More informationChapter 2: Relational Model
Chapter 2: Relational Model Database System Concepts, 5 th Ed. See www.db-book.com for conditions on re-use Chapter 2: Relational Model Structure of Relational Databases Fundamental Relational-Algebra-Operations
More informationDatabase Technology Introduction. Heiko Paulheim
Database Technology Introduction Outline The Need for Databases Data Models Relational Databases Database Design Storage Manager Query Processing Transaction Manager Introduction to the Relational Model
More informationMain Memory CHAPTER. Exercises. 7.9 Explain the difference between internal and external fragmentation. Answer:
7 CHAPTER Main Memory Exercises 7.9 Explain the difference between internal and external fragmentation. a. Internal fragmentation is the area in a region or a page that is not used by the job occupying
More informationCCH Audit Automation SQL Release Notes
CCH Audit Automation SQL 2017.3 Release Notes Disclaimer CCH Software has made every effort to ensure the accuracy and completeness of these release notes. However, CCH Software, its staff and agents will
More informationThe Architecture of the RAQUEL DBMS
The Architecture of the RAQUEL DBMS David Livingstone The Third Manifesto Implementers Workshop 2 nd 3 rd June 2011 Introduction Background Design Aim Overview Driver Interface (between App. & DBMS) RAQUEL
More information