Relational Query Languages Dictionary  Data Manipulation Language DML

Total Page:16

File Type:pdf, Size:1020Kb

Relational Query Languages Dictionary  Data Manipulation Language DML Languages of DBMS Data Definition Language DDL define the schema and storage stored in a Data Relational Query Languages Dictionary Data Manipulation Language DML Manipulative populate schema, update database Retrieval querying content of a database Data Control Language DCL permissions, access control etc... Data Manipulation Language Relational operators transform either a single relation or a pair of relations into a result that is a relation that can be used as an operand on Theory behind operations is formally defined later operations and equivalent to a first-order logic (FOL) For every operator operand and result, ∀ ∃ ≡ Relational Calculus ( , ) Relational relations are free of duplicates Algebra Operators are tuple oriented or set oriented Relational algebra is a retrieval query language Structured Query Language (SQL) based on set operators and relational an ANSI standard for relational databases, operators based on relational algebra/calculus SQL2 1992 SQL3 1998 Operations in the Relational Model Query Operators Theory behind operations is formally defined and equivalent to a first order logic (FOL) Relational Algebra Relational operators transform either a simple tuple (unary) Selection, Projection relation or a pair of relations into a result that is a relation set (binary) Union, Intersection, Difference tuple (binary) Join, Division The result can be used as an operand on Additional Operators later activities Outer Join, Outer Union For every operand and result, relations are free of duplicates Operators are tuple oriented or set oriented 1 Relational Algebra A Retrieval DML Must Express Select Project Attributes required in a result target list Union Intersection Difference Criteria for selecting tuples for that result R R R S S S qualifier The relations that take part in the query Join Division set generators * Independent of the instances in the database Expressions are in terms of the database Cartesian product schema X SQL Retrieval Statement π Project Operator SELECT[all|distinct] selects a subset of the attributes of a relation {*|{table.*|expr[alias]|view.*} [,{table.*|expr[alias]}]...} attribute list are drawn from the specified relation; FROM table [alias][,table[alias]] ... if the key attribute is in the list then card(result) = card(relation) [WHERE condition] [CONNECT BY condition [START WITH condition]] π Result = (attribute list)(relation name) [GROUP BY expr [,expr] ...] [HAVING condition] resulting relation [{UNION|UNION ALL|INTERSECT|MINUS} has only the the degree(result) = number of attributes in the attribute list SELECT ...] attributes in the list, in same order [ORDER BY {expr|position} as they appear in no duplicates in the result [ASC|DESC][,expr|position}[ASC|DESC]. the list [FOR UPDATE OF column [,column] ... [NOWAIT]] π Project Operator π Project Operator SELECT STUDENT STUDENT studno name hons tutor year studno name hons tutor year s1 jones ca bush 2 select * s1 jones ca bush 2 s2 brown cis kahn 2 from student; s2 brown cis kahn 2 s3 smith cs goble 2 s3 smith cs goble 2 s4 bloggs ca goble 1 s4 bloggs ca goble 1 s5 jones cs zobel 1 s5 jones cs zobel 1 s6 peters ca kahn 3 s6 peters ca kahn 3 tutor tutor bush kahn select tutor bush π goble from student; kahn tutor(STUDENT) goble goble zobel zobel kahn 2 σ Select Operator σ Select Operator selects a subset of the tuples in a relation that STUDENT satisfy a selection condition studno name hons tutor year s1 jones ca bush 2 s2 brown cis kahn 2 a boolean expression specified on the attributes s3 smith cs goble 2 of a specified relation s4 bloggs ca goble 1 s5 jones cs zobel 1 σ s6 peters ca kahn 3 Result = (selection condition)(relation name) a relation that • stands for the usual comparison operators ‘<‘, studno name hons tutor year has the same ‘<>‘, ‘<=‘, ‘>‘, ‘>=‘, etc s4 bloggs ca goble 1 attributes as the • clauses can be arbitrarily connected with boolean operators AND, NOT, OR source relation; σ name=‘bloggs’(STUDENT) degree(result) = degree(relation); card(result) <= card(relation) retrieve tutor who tutors Bloggs SQL retrieval expressions STUDENT studno name hons tutor year s1 jones ca bush 2 select studentno, name from student s2 brown cis kahn 2 s3 smith cs goble 2 where hons != ‘ca’ and s4 bloggs ca goble 1 s5 jones cs zobel 1 (tutor = ‘goble’ or tutor = ‘kahn’); s6 peters ca kahn 3 select * from enrol where labmark > 50; π (σ (STUDENT)) tutor name=‘bloggs’ select * from enrol select tutor from student where labmark between 30 and 50; where name = ‘bloggs’; Cartesian Product Operator select * from enrol where labmark in (0, 100); Definition: select * from enrol The cartesian product of two relations where labmark is null; R1(A1,A2,...,An) with cardinality i and select * from student R2(B1,B2,...,Bm) with cardinality j is a relation R3 with degree k=n+m, cardinality i*j and where name is like ‘b%’; attributes (A1,A2,...,An,B1,B2,...,Bm) select studno, courseno, The result, denoted by R1XR2, is a relation exammark+labmark total from enrol that includes all the possible combinations of tuples from R1 and R2 where is not NULL; labmark Used in conjunction with other operations 3 Cartesian Product Example X Cartesian Product STUDENT studno name hons tutor year lecturer roomno STUDENT COURSE studno name hons tutor year s1 jones ca bush 2 kahn IT206 studno name courseno subject equip s1 jones ca bush 2 bush 2.26 s1 jones ca bush 2 s1 jones ca bush 2 goble 2.82 s1 jones cs250 prog sun s2 brown cis kahn 2 s1 jones ca bush 2 zobel 2.34 s1 jones ca bush 2 watson IT212 s2 brown cs150 prog sun s3 smith cs goble 2 s1 jones ca bush 2 woods IT204 s6 peters cs390 specs sun s4 bloggs ca goble 1 s1 jones ca bush 2 capon A14 s1 jones ca bush 2 lindsey 2.10 s5 jones cs zobel 1 s1 jones ca bush 2 barringer 2.125 s2 brown cis kahn 2 kahn IT206 s6 peters ca kahn 3 s2 brown cis kahn 2 bush 2.26 STUDENT X COURSE s2 brown cis kahn 2 goble 2.82 studno name courseno subject equip s2 brown cis kahn 2 zobel 2.34 STAFF s2 brown cis kahn 2 watson IT212 s1 jones cs250 prog sun s2 brown cis kahn 2 woods IT204 s1 jones cs150 prog sun lecturer roomno s2 brown cis kahn 2 capon A14 s2 brown cis kahn 2 lindsey 2.10 s1 jones cs390 specs sun kahn IT206 s2 brown cis kahn 2 barringer 2.125 s2 brown cs250 prog sun bush 2.26 s3 smith cs goble 2 kahn IT206 s3 smith cs goble 2 bush 2.26 s2 brown cs150 prog sun goble 2.82 s3 smith cs goble 2 goble 2.82 s2 brown cs390 specs sun zobel 2.34 s3 smith cs goble 2 zobel 2.34 s3 smith cs goble 2 watson IT212 s6 peters cs250 prog sun watson IT212 s3 smith cs goble 2 woods IT204 s6 peters cs150 prog sun s3 smith cs goble 2 capon A14 woods IT204 s3 smith cs goble 2 lindsey 2.10 s6 peters cs390 specs sun capon A14 s3 smith cs goble 2 barringer 2.125 s4 bloggs ca goble 1 kahn IT206 lindsey 2.10 s4 bloggs ca goble 1 bush 2.26 barringer 2.125 θ θ Join Operator Join Operator STAFF lecturer roomno Definition: STUDENT kahn IT206 studno name hons tutor year bush 2.26 The join of two relations R1(A1,A2,...,An) and s1 jones ca bush 2 goble 2.82 s2 brown cis kahn 2 R2(B1,B2,...,Bm) is a relation R3 with degree k=n+m zobel 2.34 and attributes (A ,A ,...,A , B ,B ,...,B ) that satisfy s3 smith cs goble 2 watson IT212 1 2 n 1 2 m s4 bloggs ca goble 1 woods IT204 the join condition s5 jones cs zobel 1 capon A14 s6 peters ca kahn 3 lindsey 2.10 Result = R1 (θ join condition) R2 barringer 2.125 stud name hons tutor year lecturer roomno •stands for the usual comparison no The result is a concatenated operators ‘<‘, ‘<>‘, ‘<=‘, ‘>‘, ‘>=‘, etc s1 jones ca bush 2 bush 2.26 set but only for those tuples s2 brown cis kahn 2 kahn IT206 where the condition is true. Θ s3 smith cs goble 2 goble 2.82 •comparing terms in the clauses can s4 bloggs ca goble 1 goble 2.82 It does not require union be arbitrarily connected with boolean compatibility of R1 and R2 s5 jones cs zobel 1 zobel 2.34 operators AND, NOT, OR s6 peters ca kahn 3 kahn IT206 ENROL More joins stud course lab exam no no mark mark STUDENT s1 cs250 65 52 Natural Join Operator studno name hons tutor year s1 cs260 80 75 s1 jones ca bush 2 s1 cs270 47 34 θ s2 brown cis kahn 2 s2 cs250 67 55 Of all the types of -join, the equi-join is the s3 smith cs goble 2 s2 cs270 65 71 only one that yields a result in which the s4 bloggs ca goble 1 s3 cs270 49 50 compared columns are redundant to each s5 jones cs zobel 1 s4 cs280 50 51 s6 peters ca kahn 3 s5 cs250 0 3 other—possibly different names but same s6 cs250 2 7 values The natural join is an equi-join but one of the stud name hons tutor year stud course lab exam no no no mark mark redundant columns (simple or composite) is s1 jones ca bush 2 s1 cs250 65 52 s1 jones ca bush 2 s1 cs260 80 75 omitted from the result s1 jones ca bush 2 s1 cs270 47 34 s2 brown cis kahn 2 s2 cs250 67 55 Relational join is the principle algebraic s2 brown cis kahn 2 s2 cs270 65 71 s3 smith cs goble 2 s3 cs270 49 50 counterpart of queries that involve the s4 bloggs ca goble 1 s4 cs280 50 51 s5 jones cs zobel 1 s5 cs250 0 3 existential quantifier ∃ s6 peters ca kahn 3 s6 cs250 2 7 4 Self Join: Joins on the same relation Exercise π (lecturer, (staff (appraiser = lecturer) staff) Get student’s name, all their courses, subject roomno,appraiser, approom) of course, labmark for course, lecturer of course and lecturer’s roomno for ‘ca’ students STAFF lecturer roomno appraiser lecturer roomno appraiser approom kahn IT206 watson kahn IT206 watson IT212 University Schema bush 2.26 capon bush 2.26 capon A14 goble 2.82 capon goble 2.82 capon A14
Recommended publications
  • Tuple Relational Calculus Formula Defines Relation
    COS 425: Database and Information Management Systems Relational model: Relational calculus Tuple Relational Calculus Queries are formulae, which define sets using: 1. Constants 2. Predicates (like select of algebra ) 3. BooleanE and, or, not 4.A there exists 5. for all • Variables range over tuples • Attributes of a tuple T can be referred to in predicates using T.attribute_name Example: { T | T ε tp and T.rank > 100 } |__formula, T free ______| tp: (name, rank); base relation of database Formula defines relation • Free variables in a formula take on the values of tuples •A tuple is in the defined relation if and only if when substituted for a free variable, it satisfies (makes true) the formula Free variable: A E x, x bind x – truth or falsehood no longer depends on a specific value of x If x is not bound it is free 1 Quantifiers There exists: E x (f(x)) for formula f with free variable x • Is true if there is some tuple which when substituted for x makes f true For all: A x (f(x)) for formula f with free variable x • Is true if any tuple substituted for x makes f true i.e. all tuples when substituted for x make f true Example E {T | E A B (A ε tp and B ε tp and A.name = T.name and A.rank = T.rank and B.rank =T.rank and T.name2= B.name ) } • T not constrained to be element of a named relation • T has attributes defined by naming them in the formula: T.name, T.rank, T.name2 – so schema for T is (name, rank, name2) unordered • Tuples T in result have values for (name, rank, name2) that satisfy the formula • What is the resulting relation? Formal definition: formula • A tuple relational calculus formula is – An atomic formula (uses predicate and constants): •T ε R where – T is a variable ranging over tuples – R is a named relation in the database – a base relation •T.a op W.b where – a and b are names of attributes of T and W, respectively, – op is one of < > = ≠≤≥ •T.a op constant • constant op T.a 2 Formal definition: formula cont.
    [Show full text]
  • CHAPTER 3 - Relational Database Modeling
    DATABASE SYSTEMS Introduction to Databases and Data Warehouses, Edition 2.0 CHAPTER 3 - Relational Database Modeling Copyright (c) 2020 Nenad Jukic and Prospect Press MAPPING ER DIAGRAMS INTO RELATIONAL SCHEMAS ▪ Once a conceptual ER diagram is constructed, a logical ER diagram is created, and then it is subsequently mapped into a relational schema (collection of relations) Conceptual Model Logical Model Schema Jukić, Vrbsky, Nestorov, Sharma – Database Systems Copyright (c) 2020 Nenad Jukic and Prospect Press Chapter 3 – Slide 2 INTRODUCTION ▪ Relational database model - logical database model that represents a database as a collection of related tables ▪ Relational schema - visual depiction of the relational database model – also called a logical model ▪ Most contemporary commercial DBMS software packages, are relational DBMS (RDBMS) software packages Jukić, Vrbsky, Nestorov, Sharma – Database Systems Copyright (c) 2020 Nenad Jukic and Prospect Press Chapter 3 – Slide 3 INTRODUCTION Terminology Jukić, Vrbsky, Nestorov, Sharma – Database Systems Copyright (c) 2020 Nenad Jukic and Prospect Press Chapter 3 – Slide 4 INTRODUCTION ▪ Relation - table in a relational database • A table containing rows and columns • The main construct in the relational database model • Every relation is a table, not every table is a relation Jukić, Vrbsky, Nestorov, Sharma – Database Systems Copyright (c) 2020 Nenad Jukic and Prospect Press Chapter 3 – Slide 5 INTRODUCTION ▪ Relation - table in a relational database • In order for a table to be a relation the following conditions must hold: o Within one table, each column must have a unique name. o Within one table, each row must be unique. o All values in each column must be from the same (predefined) domain.
    [Show full text]
  • Relational Query Languages
    Relational Query Languages Universidad de Concepcion,´ 2014 (Slides adapted from Loreto Bravo, who adapted from Werner Nutt who adapted them from Thomas Eiter and Leonid Libkin) Bases de Datos II 1 Databases A database is • a collection of structured data • along with a set of access and control mechanisms We deal with them every day: • back end of Web sites • telephone billing • bank account information • e-commerce • airline reservation systems, store inventories, library catalogs, . Relational Query Languages Bases de Datos II 2 Data Models: Ingredients • Formalisms to represent information (schemas and their instances), e.g., – relations containing tuples of values – trees with labeled nodes, where leaves contain values – collections of triples (subject, predicate, object) • Languages to query represented information, e.g., – relational algebra, first-order logic, Datalog, Datalog: – tree patterns – graph pattern expressions – SQL, XPath, SPARQL Bases de Datos II 3 • Languages to describe changes of data (updates) Relational Query Languages Questions About Data Models and Queries Given a schema S (of a fixed data model) • is a given structure (FOL interpretation, tree, triple collection) an instance of the schema S? • does S have an instance at all? Given queries Q, Q0 (over the same schema) • what are the answers of Q over a fixed instance I? • given a potential answer a, is a an answer to Q over I? • is there an instance I where Q has an answer? • do Q and Q0 return the same answers over all instances? Relational Query Languages Bases de Datos II 4 Questions About Query Languages Given query languages L, L0 • how difficult is it for queries in L – to evaluate such queries? – to check satisfiability? – to check equivalence? • for every query Q in L, is there a query Q0 in L0 that is equivalent to Q? Bases de Datos II 5 Research Questions About Databases Relational Query Languages • Incompleteness, uncertainty – How can we represent incomplete and uncertain information? – How can we query it? .
    [Show full text]
  • The Relational Data Model and Relational Database Constraints
    chapter 33 The Relational Data Model and Relational Database Constraints his chapter opens Part 2 of the book, which covers Trelational databases. The relational data model was first introduced by Ted Codd of IBM Research in 1970 in a classic paper (Codd 1970), and it attracted immediate attention due to its simplicity and mathematical foundation. The model uses the concept of a mathematical relation—which looks somewhat like a table of values—as its basic building block, and has its theoretical basis in set theory and first-order predicate logic. In this chapter we discuss the basic characteristics of the model and its constraints. The first commercial implementations of the relational model became available in the early 1980s, such as the SQL/DS system on the MVS operating system by IBM and the Oracle DBMS. Since then, the model has been implemented in a large num- ber of commercial systems. Current popular relational DBMSs (RDBMSs) include DB2 and Informix Dynamic Server (from IBM), Oracle and Rdb (from Oracle), Sybase DBMS (from Sybase) and SQLServer and Access (from Microsoft). In addi- tion, several open source systems, such as MySQL and PostgreSQL, are available. Because of the importance of the relational model, all of Part 2 is devoted to this model and some of the languages associated with it. In Chapters 4 and 5, we describe the SQL query language, which is the standard for commercial relational DBMSs. Chapter 6 covers the operations of the relational algebra and introduces the relational calculus—these are two formal languages associated with the relational model.
    [Show full text]
  • SQL Vs Nosql: a Performance Comparison
    SQL vs NoSQL: A Performance Comparison Ruihan Wang Zongyan Yang University of Rochester University of Rochester [email protected] [email protected] Abstract 2. ACID Properties and CAP Theorem We always hear some statements like ‘SQL is outdated’, 2.1. ACID Properties ‘This is the world of NoSQL’, ‘SQL is still used a lot by We need to refer the ACID properties[12]: most of companies.’ Which one is accurate? Has NoSQL completely replace SQL? Or is NoSQL just a hype? SQL Atomicity (Structured Query Language) is a standard query language A transaction is an atomic unit of processing; it should for relational database management system. The most popu- either be performed in its entirety or not performed at lar types of RDBMS(Relational Database Management Sys- all. tems) like Oracle, MySQL, SQL Server, uses SQL as their Consistency preservation standard database query language.[3] NoSQL means Not A transaction should be consistency preserving, meaning Only SQL, which is a collection of non-relational data stor- that if it is completely executed from beginning to end age systems. The important character of NoSQL is that it re- without interference from other transactions, it should laxes one or more of the ACID properties for a better perfor- take the database from one consistent state to another. mance in desired fields. Some of the NOSQL databases most Isolation companies using are Cassandra, CouchDB, Hadoop Hbase, A transaction should appear as though it is being exe- MongoDB. In this paper, we’ll outline the general differences cuted in iso- lation from other transactions, even though between the SQL and NoSQL, discuss if Relational Database many transactions are execut- ing concurrently.
    [Show full text]
  • Tuple Relational Calculus Formula Defines Relation Quantifiers Example
    COS 597A: Tuple Relational Calculus Principles of Queries are formulae, which define sets using: Database and Information Systems 1. Constants 2. Predicates (like select of algebra ) 3. Boolean and, or, not Relational model: 4. ∃ there exists 5. ∀ for all Relational calculus Variables range over tuples Value of an attribute of a tuple T can be referred to in predicates using T[attribute_name] Example: { T | T ε Winners and T[year] > 2006 } |__formula, T free ______| Winners: (name, tournament, year); base relation of database Formula defines relation Quantifiers • Free variables in a formula take on the values of There exists: ∃x (f(x)) for formula f with free tuples variable x • A tuple is in the defined relation if and only if • Is true if there is some tuple which when substituted when substituted for a free variable, it satisfies for x makes f true (makes true) the formula For all: ∀x (f(x)) for formula f with free variable x Free variable: • Is true if any tuple substituted for x makes f true i.e. all tuples when substituted for x make f true ∃x, ∀x bind x – truth or falsehood no longer depends on a specific value of x If x is not bound it is free Example Formal definition: formula • A tuple relational calculus formula is {T |∃A ∃B (A ε Winners and B ε Winners and – An atomic formula (uses predicate and constants): A[name] = T[name] and A[tournament] = T[tournament] and • T ε R where B[tournament] =T[tournament] and T[name2] = B[name] ) } – T is a variable ranging over tuples – R is a named relation in the database – a base relation • T not constrained to be element of a named relation • T[a] op W[b] where • Result has attributes defined by naming them in the formula: – a and b are names of attributes of T and W, respectively, T[name], T[tournament], T[name2] – op is one of < > = ≠ ≤ ≥ – so schema for result: (name, tournament, name2) • T[a] op constant unordered • constant op T[a] • Tuples T in result have values for (name, tournament, name2) that satisfy the formula • What is the resulting relation? 1 Formal definition: formula cont.
    [Show full text]
  • Relational Algebra and SQL Relational Query Languages
    Relational Algebra and SQL Chapter 5 1 Relational Query Languages • Languages for describing queries on a relational database • Structured Query Language (SQL) – Predominant application-level query language – Declarative • Relational Algebra – Intermediate language used within DBMS – Procedural 2 1 What is an Algebra? · A language based on operators and a domain of values · Operators map values taken from the domain into other domain values · Hence, an expression involving operators and arguments produces a value in the domain · When the domain is a set of all relations (and the operators are as described later), we get the relational algebra · We refer to the expression as a query and the value produced as the query result 3 Relational Algebra · Domain: set of relations · Basic operators: select, project, union, set difference, Cartesian product · Derived operators: set intersection, division, join · Procedural: Relational expression specifies query by describing an algorithm (the sequence in which operators are applied) for determining the result of an expression 4 2 The Role of Relational Algebra in a DBMS 5 Select Operator • Produce table containing subset of rows of argument table satisfying condition σ condition (relation) • Example: σ Person Hobby=‘stamps’(Person) Id Name Address Hobby Id Name Address Hobby 1123 John 123 Main stamps 1123 John 123 Main stamps 1123 John 123 Main coins 9876 Bart 5 Pine St stamps 5556 Mary 7 Lake Dr hiking 9876 Bart 5 Pine St stamps 6 3 Selection Condition • Operators: <, ≤, ≥, >, =, ≠ • Simple selection
    [Show full text]
  • Plantuml Language Reference Guide
    Drawing UML with PlantUML Language Reference Guide (Version 5737) PlantUML is an Open Source project that allows to quickly write: • Sequence diagram, • Usecase diagram, • Class diagram, • Activity diagram, • Component diagram, • State diagram, • Object diagram. Diagrams are defined using a simple and intuitive language. 1 SEQUENCE DIAGRAM 1 Sequence Diagram 1.1 Basic examples Every UML description must start by @startuml and must finish by @enduml. The sequence ”->” is used to draw a message between two participants. Participants do not have to be explicitly declared. To have a dotted arrow, you use ”-->”. It is also possible to use ”<-” and ”<--”. That does not change the drawing, but may improve readability. Example: @startuml Alice -> Bob: Authentication Request Bob --> Alice: Authentication Response Alice -> Bob: Another authentication Request Alice <-- Bob: another authentication Response @enduml To use asynchronous message, you can use ”->>” or ”<<-”. @startuml Alice -> Bob: synchronous call Alice ->> Bob: asynchronous call @enduml PlantUML : Language Reference Guide, December 11, 2010 (Version 5737) 1 of 96 1.2 Declaring participant 1 SEQUENCE DIAGRAM 1.2 Declaring participant It is possible to change participant order using the participant keyword. It is also possible to use the actor keyword to use a stickman instead of a box for the participant. You can rename a participant using the as keyword. You can also change the background color of actor or participant, using html code or color name. Everything that starts with simple quote ' is a comment. @startuml actor Bob #red ' The only difference between actor and participant is the drawing participant Alice participant "I have a really\nlong name" as L #99FF99 Alice->Bob: Authentication Request Bob->Alice: Authentication Response Bob->L: Log transaction @enduml PlantUML : Language Reference Guide, December 11, 2010 (Version 5737) 2 of 96 1.3 Use non-letters in participants 1 SEQUENCE DIAGRAM 1.3 Use non-letters in participants You can use quotes to define participants.
    [Show full text]
  • A Developer's Guide to Data Modeling for SQL Server
    Praise for A Developer’s Guide to Data Modeling for SQL Server “Eric and Joshua do an excellent job explaining the importance of data modeling and how to do it correctly. Rather than relying only on academic concepts, they use real-world ex- amples to illustrate the important concepts that many database and application develop- ers tend to ignore. The writing style is conversational and accessible to both database design novices and seasoned pros alike. Readers who are responsible for designing, imple- menting, and managing databases will benefit greatly from Joshua’s and Eric’s expertise.” —Anil Desai, Consultant, Anil Desai, Inc. “Almost every IT project involves data storage of some kind, and for most that means a relational database management system (RDBMS). This book is written for a database- centric audience (database modelers, architects, designers, developers, etc.). The authors do a great job of showing us how to take a project from its initial stages of requirements gathering all the way through to implementation. Along the way we learn how to handle some of the real-world design issues that typically surface as we go through the process. “The bottom line here is simple. This is the book you want to have just finished read- ing when your boss says ‘We have a new project I would like your help with.’” —Ronald Landers, Technical Consultant, IT Professionals, Inc. “The Data Model is the foundation of the application. I’m pleased to see additional books being written to address this critical phase. This book presents a balanced and pragmatic view with the right priorities to get your SQL server project off to a great start and a long life.” —Paul Nielsen, SQL Server MVP, SQLServerBible.com “This is a truly excellent introduction to the database design methodology that will work for both novices and advanced designers.
    [Show full text]
  • Regulations & Syllabi for AMIETE Examination (Computer Science
    Regulations & Syllabi For AMIETE Examination (Computer Science & Engineering) Published under the authority of the Governing Council of The Institution of Electronics and Telecommunication Engineers 2, Institutional Area, Lodi Road, New Delhi – 110 003 (India) (2013 Edition) Website : http://www.iete.org Toll Free No : 18001025488 Tel. : (011) 43538800-99 Fax : (011) 24649429 Email : [email protected] [email protected] Prospectus Containing Regulations & Syllabi For AMIETE Examination (Computer Science & Engineering) Published under the authority of the Governing Council of The Institution of Electronics and Telecommunication Engineers 2, Institutional Area, Lodi Road, New Delhi – 110 003 (India) (2013 Edition) Website : http://www.iete.org Toll Free No : 18001025488 Tel. : (011) 43538800-99 Fax : (011) 24649429 Email : [email protected] [email protected] CONTENTS 1. ABOUT THE INSTITUTION 1 2. ELIGIBILITY 4 3. ENROLMENT 5 4. AMIETE EXAMINATION 6 5. ELIGIBILITY FOR VARIOUS SUBJECTS 6 6. EXEMPTIONS 7 7. CGPA SYSTEM 8 8. EXAMINATION APPLICATION 8 9. EXAMINATION FEE 9 10. LAST DATE FOR RECEIPT OF EXAMINATION APPLICATION 9 11. EXAMINATION CENTRES 10 12. USE OF UNFAIR MEANS 10 13. RECOUNTING 11 14. IMPROVEMENT OF GRADES 11 15. COURSE CURRICULUM (Computer Science) (CS) (Appendix-‘A’) 13 16. OUTLINE SYLLABUS (CS) (Appendix-‘B’) 16 17. COURSE CURRICULUM (Information Technology) (IT) (Appendix-‘C”) 24 18. OUTLINE SYLLABUS (IT) (Appendix-‘D’) 27 19. COURSE CURRICULUM (Electronics & Telecommunication) (ET) 35 (Appendix-‘E’) 20. OUTLINE SYLLABUS (ET) (Appendix-‘F’) 38 21. DETAILED SYLLABUS (CS) (Appendix-’G’) 45 22. RECOGNITIONS GRANTED TO THE AMIETE EXAMINATION BY STATE 113 GOVERNMENTS / UNIVERSITIES / INSTITUTIONS (Appendix-‘I’) 23. RECOGNITIONS GRANTED TO THE AMIETE EXAMINATION BY 117 GOVERNMENT OF INDIA / OTHER AUTHORITIES ( Annexure I - V) 24.
    [Show full text]
  • Fast Foreign-Key Detection in Microsoft SQL
    Fast Foreign-Key Detection in Microsoft SQL Server PowerPivot for Excel Zhimin Chen Vivek Narasayya Surajit Chaudhuri Microsoft Research Microsoft Research Microsoft Research [email protected] [email protected] [email protected] ABSTRACT stored in a relational database, which they can import into Excel. Microsoft SQL Server PowerPivot for Excel, or PowerPivot for Other sources of data are text files, web data feeds or in general any short, is an in-memory business intelligence (BI) engine that tabular data range imported into Excel. enables Excel users to interactively create pivot tables over large data sets imported from sources such as relational databases, text files and web data feeds. Unlike traditional pivot tables in Excel that are defined on a single table, PowerPivot allows analysis over multiple tables connected via foreign-key joins. In many cases however, these foreign-key relationships are not known a priori, and information workers are often not be sophisticated enough to define these relationships. Therefore, the ability to automatically discover foreign-key relationships in PowerPivot is valuable, if not essential. The key challenge is to perform this detection interactively and with high precision even when data sets scale to hundreds of millions of rows and the schema contains tens of tables and hundreds of columns. In this paper, we describe techniques for fast foreign-key detection in PowerPivot and experimentally evaluate its accuracy, performance and scale on both synthetic benchmarks and real-world data sets. These techniques have been incorporated into PowerPivot for Excel. Figure 1. Example of pivot table in Excel. It enables multi- dimensional analysis over a single table.
    [Show full text]
  • Session 5 – Main Theme
    Database Systems Session 5 – Main Theme Relational Algebra, Relational Calculus, and SQL Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences Presentation material partially based on textbook slides Fundamentals of Database Systems (6th Edition) by Ramez Elmasri and Shamkant Navathe Slides copyright © 2011 and on slides produced by Zvi Kedem copyight © 2014 1 Agenda 1 Session Overview 2 Relational Algebra and Relational Calculus 3 Relational Algebra Using SQL Syntax 5 Summary and Conclusion 2 Session Agenda . Session Overview . Relational Algebra and Relational Calculus . Relational Algebra Using SQL Syntax . Summary & Conclusion 3 What is the class about? . Course description and syllabus: » http://www.nyu.edu/classes/jcf/CSCI-GA.2433-001 » http://cs.nyu.edu/courses/fall11/CSCI-GA.2433-001/ . Textbooks: » Fundamentals of Database Systems (6th Edition) Ramez Elmasri and Shamkant Navathe Addition Wesley ISBN-10: 0-1360-8620-9, ISBN-13: 978-0136086208 6th Edition (04/10) 4 Icons / Metaphors Information Common Realization Knowledge/Competency Pattern Governance Alignment Solution Approach 55 Agenda 1 Session Overview 2 Relational Algebra and Relational Calculus 3 Relational Algebra Using SQL Syntax 5 Summary and Conclusion 6 Agenda . Unary Relational Operations: SELECT and PROJECT . Relational Algebra Operations from Set Theory . Binary Relational Operations: JOIN and DIVISION . Additional Relational Operations . Examples of Queries in Relational Algebra . The Tuple Relational Calculus . The Domain Relational Calculus 7 The Relational Algebra and Relational Calculus . Relational algebra . Basic set of operations for the relational model . Relational algebra expression . Sequence of relational algebra operations . Relational calculus . Higher-level declarative language for specifying relational queries 8 Unary Relational Operations: SELECT and PROJECT (1/3) .
    [Show full text]