CIS 2750 END OF COURSE EXAMS QUESTIONS AND
ANSWERS MARKED A+
✔✔downsides of ACID compliance - ✔✔• Requires a lot of complex code in DBMS
• Burdens operations with overhead of checking, locking, logging, etc.
• Developers have to understand how to use them correctly
✔✔Recognized shortcomings of SQL - ✔✔• Strictly declarative language
• no iteration (looping, variables)
• no conditional constructs, only relational expressions
• Limited data types
• no arrays
• decimal number types, NUMERIC & DECIMAL, can have different meanings
• Lots of redundancies
• many valid ways to express the same query
• yield same result set, but varying efficiency
• Negative effects
• language "bigger" than it needs to be
• harder to teach, learn, implement
• users waste time fishing for most efficient query form
✔✔Recognized Lack in SQL - ✔✔• Time-varying tables:
• Can record time as row attribute
• date, TIME, TIMESTAMP data types
• Difficult to record entire table aging or passing through sequence
• e.g., class list for CIS*2750
• registrar's DB only shows current state of class
• cannot review how class list changed since day 1, unless each change is logged in a
separate table
✔✔non-relational databases is also known as - ✔✔NoSQL
✔✔RDBMS Limitations - ✔✔• Web data - e.g. logs of social media activities - is not very
structured
• Even when it is structured, the structure changes a lot over time
• For such data, the relational model may be too rigid
• Not really suited for storing large chunks of data
• Logs, histories, archives, images, videos, etc.
• Native support for data interchange or data storage formats like JSON is considered to
be essential or at least desirable in the modern DBMSs.
• Did not exist when DBMS systems were developed, 30 years ago
• For dealing with very large volumes of data, RDBMS are not efficient
• We never store large data chunks in a database - we store the path to a file with this
data
• This does not work when dealing TB of data generated by modern applications
• Traditional RDBMS do not scale well when spread over hundreds of separate servers
, • Many of these shortcomings are addressed through updates to moderns RDBMS
• For example, PostgresSQL now supports JSON data
✔✔Commonly used Types of NoSQL databases - ✔✔Column-oriented stores
Key-value stores
Document DBMS
Graph DBMS
✔✔Column-oriented stores - ✔✔Data stored by column
Allows for some disk use/access optimizations
✔✔Key-value stores - ✔✔the simplest model non-RDBMS / NoSQL models
• As the name suggests, the DBMS is essentially a large, fast, disk-based associative
array - AKA hash table
✔✔Document DBMS - ✔✔built around the notion of a "document"
• Assume that documents encapsulate and encode data in some standard format, e.g.
XML or JSON
✔✔Graph DBMS - ✔✔designed for data whose relations are well represented as a
graph
✔✔what is a standard? - ✔✔when someone has considered a problem and proposed a
method to solve it
✔✔scope of standard - ✔✔local, national, international
✔✔what standards do software developers care about? - ✔✔protocols, codes,
procedures
✔✔protocols - ✔✔communicating between different programs on different computers
ex. python to C
✔✔codes - ✔✔representing data values as bit patterns
dates, times, colours, directions, sizes, graphics
✔✔procedures - ✔✔carrying out steps of the software engineering process
✔✔why are standards important? - ✔✔- they provide consistency
- they allows heterogenous systems to communicate with each other
- they encapsulate the best or most appropriate practice
✔✔Software that follows published standards is more likely to be - ✔✔maintainable and
marketable
ANSWERS MARKED A+
✔✔downsides of ACID compliance - ✔✔• Requires a lot of complex code in DBMS
• Burdens operations with overhead of checking, locking, logging, etc.
• Developers have to understand how to use them correctly
✔✔Recognized shortcomings of SQL - ✔✔• Strictly declarative language
• no iteration (looping, variables)
• no conditional constructs, only relational expressions
• Limited data types
• no arrays
• decimal number types, NUMERIC & DECIMAL, can have different meanings
• Lots of redundancies
• many valid ways to express the same query
• yield same result set, but varying efficiency
• Negative effects
• language "bigger" than it needs to be
• harder to teach, learn, implement
• users waste time fishing for most efficient query form
✔✔Recognized Lack in SQL - ✔✔• Time-varying tables:
• Can record time as row attribute
• date, TIME, TIMESTAMP data types
• Difficult to record entire table aging or passing through sequence
• e.g., class list for CIS*2750
• registrar's DB only shows current state of class
• cannot review how class list changed since day 1, unless each change is logged in a
separate table
✔✔non-relational databases is also known as - ✔✔NoSQL
✔✔RDBMS Limitations - ✔✔• Web data - e.g. logs of social media activities - is not very
structured
• Even when it is structured, the structure changes a lot over time
• For such data, the relational model may be too rigid
• Not really suited for storing large chunks of data
• Logs, histories, archives, images, videos, etc.
• Native support for data interchange or data storage formats like JSON is considered to
be essential or at least desirable in the modern DBMSs.
• Did not exist when DBMS systems were developed, 30 years ago
• For dealing with very large volumes of data, RDBMS are not efficient
• We never store large data chunks in a database - we store the path to a file with this
data
• This does not work when dealing TB of data generated by modern applications
• Traditional RDBMS do not scale well when spread over hundreds of separate servers
, • Many of these shortcomings are addressed through updates to moderns RDBMS
• For example, PostgresSQL now supports JSON data
✔✔Commonly used Types of NoSQL databases - ✔✔Column-oriented stores
Key-value stores
Document DBMS
Graph DBMS
✔✔Column-oriented stores - ✔✔Data stored by column
Allows for some disk use/access optimizations
✔✔Key-value stores - ✔✔the simplest model non-RDBMS / NoSQL models
• As the name suggests, the DBMS is essentially a large, fast, disk-based associative
array - AKA hash table
✔✔Document DBMS - ✔✔built around the notion of a "document"
• Assume that documents encapsulate and encode data in some standard format, e.g.
XML or JSON
✔✔Graph DBMS - ✔✔designed for data whose relations are well represented as a
graph
✔✔what is a standard? - ✔✔when someone has considered a problem and proposed a
method to solve it
✔✔scope of standard - ✔✔local, national, international
✔✔what standards do software developers care about? - ✔✔protocols, codes,
procedures
✔✔protocols - ✔✔communicating between different programs on different computers
ex. python to C
✔✔codes - ✔✔representing data values as bit patterns
dates, times, colours, directions, sizes, graphics
✔✔procedures - ✔✔carrying out steps of the software engineering process
✔✔why are standards important? - ✔✔- they provide consistency
- they allows heterogenous systems to communicate with each other
- they encapsulate the best or most appropriate practice
✔✔Software that follows published standards is more likely to be - ✔✔maintainable and
marketable