Shared Flashcard Set

Details

Database Topics
A set of words and concepts for database oriented interviews
46
Computer Science
Professional
05/15/2014

Additional Computer Science Flashcards

 


 

Cards

Term
What does A.C.I.D stand for?
Definition
Atomicity, Consistency, Isolation, Durability

http://en.wikipedia.org/wiki/ACID
Term
In A.C.I.D., what is Atomicity?
Definition
Atomicity states that database modifications must follow an “all or nothing” rule. Each transaction is said to be “atomic.” If one part of the transaction fails, the entire transaction fails. It is critical that the database management system maintain the atomic nature of transactions in spite of any DBMS, operating system or hardware failure.
Term
In A.C.I.D., what is Consistency?
Definition
Consistency states that only valid data will be written to the database. If, for some reason, a transaction is executed that violates the database’s consistency rules, the entire transaction will be rolled back and the database will be restored to a state consistent with those rules. On the other hand, if a transaction successfully executes, it will take the database from one state that is consistent with the rules to another state that is also consistent with the rules.
Term
In A.C.I.D., what is Isolation?
Definition
Isolation requires that multiple transactions occurring at the same time not impact each other’s execution. For example, if Joe issues a transaction against a database at the same time that Mary issues a different transaction, both transactions should operate on the database in an isolated manner. The database should either perform Joe’s entire transaction before executing Mary’s or vice-versa. This prevents Joe’s transaction from reading intermediate data produced as a side effect of part of Mary’s transaction that will not eventually be committed to the database. Note that the isolation property does not ensure which transaction will execute first, merely that they will not interfere with each other.
Term
In A.C.I.D., what is Durability?
Definition
Durability ensures that any transaction committed to the database will not be lost. Durability is ensured through the use of database backups and transaction logs that facilitate the restoration of committed transactions in spite of any subsequent software or hardware failures.
Term
What does B.A.S.E. stand for?
Definition
Basically Available, Soft state, Eventually persisted
Term
What is the definition of a B.A.S.E. database?
Definition
Basically Available, Soft State, Eventual Consistency (BASE) is a data system design philosophy that prizes availability over consistency of operations. BASE was developed as an alternative for producing more scalable and affordable data architectures, providing more options to expanding enterprises/IT clients and simply acquiring more hardware to expand data operations.
Term
What does CAP in CAP Theorem stand for?
Definition
Also known as Brewer's theorem
Consistency, Availability, Partition tolerance

http://en.wikipedia.org/wiki/CAP_theorem
Term
In CAP theorem, what is Consistency?
Definition
all nodes see the same data at the same time
Term
In CAP theorem, what is Consistency?
Definition
a guarantee that every request receives a response about whether it was successful or failed
Term
In CAP theorem, what is Partition tolerance?
Definition
the system continues to operate despite arbitrary message loss or failure of part of the system
Term
What does M.E.A.N. stand for?
Definition
It is the technology stack of using Mongo, Express, Angular, and Node
Term
What does TSQL stand for?
Definition
Transact-SQL
Term
What does PL/SQL stand for?
Definition
Procedure Language/SQL
Term
From the MEAN Stack, what is MongoDB?
Definition
MongoDB (from "humongous") is an open-source document database, and the leading NoSQL database.
Term
From the MEAN Stack, what is Express?
Definition
Express is a minimal and flexible node.js web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications.

http://expressjs.com
Term
From the MEAN Stack, what is Angular?
Definition
AngularJS is an open-source web application framework, maintained by Google and community, that assists with creating single-page applications, one-page web applications that only require HTML, CSS, and JavaScript on the client side. Its goal is to augment web applications with model–view–controller (MVC) capability, in an effort to make both development and testing easier.

http://en.wikipedia.org/wiki/AngularJS
Term
From the MEAN Stack, what is Node?
Definition
Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

http://nodejs.org
Term
What is BSON?
Definition
A binary form of JSON
Term
What is the maximum document size for a MogoDB document?
Definition
In early versions it was 4MB, but is currently up to 16MG.
Term
What are the primary types of data models?
Definition
Conceptual, logical and physical
Term
What does a Conceptual Data Model describe?
Definition
A conceptual data model identifies the highest-level relationships between the different entities.

http://www.1keydata.com/datawarehousing/conceptual-data-model.html
Term
What does a Logical Data Model describe?
Definition
A logical data model describes the data in as much detail as possible, without regard to how they will be physical implemented in the database.

http://www.1keydata.com/datawarehousing/logical-data-model.html
Term
What does a Physical Data Model describe?
Definition
Physical data model represents how the model will be built in the database. A physical database model shows all table structures, including column name, column data type, column constraints, primary key, foreign key, and relationships between tables.

http://www.1keydata.com/datawarehousing/physical-data-model.html
Term
For Healthcare, what is HEDIS?
Definition
Healthcare Effectiveness Data and Information Set

The Healthcare Effectiveness Data and Information Set (HEDIS) is a widely used set of performance measures in the managed care industry, developed and maintained by the National Committee for Quality Assurance (NCQA).

http://en.wikipedia.org/wiki/Healthcare_Effectiveness_Data_and_Information_Set
Term
What are the characteristics of an SCD0?
Definition
The Type 0 method is passive. It manages dimensional changes and no action is performed. Values remain as they were at the time the dimension record was first inserted. In certain circumstances history is preserved with a Type 0. High order types are employed to guarantee the preservation of history whereas Type 0 provides the least or no control.

http://en.wikipedia.org/wiki/Slowly_changing_dimension
Term
What are the characteristics of an SCD1?
Definition
This methodology overwrites old with new data, and therefore does not track historical data.
The disadvantage of the Type I method is that there is no history in the data warehouse. It has the advantage however that it's easy to maintain.
http://en.wikipedia.org/wiki/Slowly_changing_dimension
Term
What are the characteristics of an SCD2?
Definition
This method tracks historical data by creating multiple records for a given natural key in the dimensional tables with separate surrogate keys and/or different version numbers. Unlimited history is preserved for each insert.

http://en.wikipedia.org/wiki/Slowly_changing_dimension
Term
What are the characteristics of an SCD3?
Definition
This method tracks changes using separate columns and preserves limited history. The Type 3 preserves limited history as it's limited to the number of columns designated for storing historical data. The original table structure in Type 1 and Type 2 is the same but Type III adds additional columns. In the following example, an additional column has been added to the table to record the supplier's original state - only the previous history is stored.

http://en.wikipedia.org/wiki/Slowly_changing_dimension
Term
What are the characteristics of an SCD4?
Definition
The Type 4 method is usually referred to as using "history tables", where one table keeps the current data, and an additional table is used to keep a record of some or all changes. Both the surrogate keys are referenced in the Fact table to enhance query performance.

http://en.wikipedia.org/wiki/Slowly_changing_dimension
Term
What are the characteristics of an SCD6?
Definition
The Type 6 method combines the approaches of types 1, 2 and 3 (1 + 2 + 3 = 6).
We overwrite the Current_State information in the first record (Supplier_Key = 123) with the new information, as in Type 1 processing. We create a new record to track the changes, as in Type 2 processing. And we store the history in a second State column (Historical_State), which incorporates Type 3 processing.
http://en.wikipedia.org/wiki/Slowly_changing_dimension
Term
What is a Cross Join?
Definition
CROSS JOIN returns the Cartesian product of rows from tables in the join. In other words, it will produce rows which combine each row from the first table with each row from the second table.
Term
What is an Inner join?
Definition
An 'inner join' is a commonly used join operation used in applications. Inner join creates a new result table by combining column values of two tables (A and B) based upon the join-predicate. The query compares each row of A with each row of B to find all pairs of rows which satisfy the join-predicate. When the join-predicate is satisfied, column values for each matched pair of rows of A and B are combined into a result row.

http://en.m.wikipedia.org/wiki/Join_(SQL)#Cross_join
Term
What is a Cartesian product?
Definition
In mathematics, a Cartesian product is a mathematical operation which returns a set (or product set) from multiple sets. That is, for sets A and B, the Cartesian product A × B is the set of all ordered pairs (a, b) where a ∈ A and b ∈ B.

http://en.m.wikipedia.org/wiki/Cartesian_product
Term
What is an Equi-join?
Definition
An equi-join is a specific type of comparator-based join, that uses only equality comparisons in the join-predicate. Using other comparison operators (such as <) disqualifies a join as an equi-join.

http://en.m.wikipedia.org/wiki/Join_(SQL)#Cross_join
Term
What is a Natural join?
Definition
A natural join is a type of equi-join where the join predicate arises implicitly by comparing all columns in both tables that have the same column-names in the joined tables. The resulting joined table contains only one column for each pair of equally named columns. In the case that no columns with the same names are found, a cross join is performed.

http://en.m.wikipedia.org/wiki/Join_(SQL)#Cross_join
Term
What is an Left Outer join?
Definition
The result of a left outer join (or simply left join) for tables A and B always contains all records of the "left" table (A), even if the join-condition does not find any matching record in the "right" table (B). This means that if the ON clause matches 0 (zero) records in B (for a given record in A), the join will still return a row in the result (for that record)—but with NULL in each column from B. A left outer join returns all the values from an inner join plus all values in the left table that do not match to the right table.

http://en.m.wikipedia.org/wiki/Join_(SQL)#Outer_join
Term
What is a Right outer join?
Definition
A right outer join (or right join) closely resembles a left outer join, except with the treatment of the tables reversed. Every row from the "right" table (B) will appear in the joined table at least once. If no matching row from the "left" table (A) exists, NULL will appear in columns from A for those records that have no match in B.
http://en.m.wikipedia.org/wiki/Join_(SQL)#Outer_join
Term
What is a Full outer join?
Definition
Conceptually, a full outer join combines the effect of applying both left and right outer joins. Where records in the FULL OUTER JOINed tables do not match, the result set will have NULL values for every column of the table that lacks a matching row. For those records that do match, a single row will be produced in the result set (containing fields populated from both tables).

http://en.m.wikipedia.org/wiki/Join_(SQL)#Outer_join
Term
What is a Self-join?
Definition
A self-join is joining a table to itself.[

http://en.m.wikipedia.org/wiki/Join_(SQL)#Outer_join
Term
What types of Join Algorithms are there?
Definition
Three fundamental algorithms for performing a join operation exist: nested loop join, sort-merge join and hash join
Term
What is a System Context Diagram?
Definition
A System Context Diagram (SCD) in software engineering and systems engineering is a diagram that defines the boundary between the system, or part of a system, and its environment, showing the entities that interact with it.[2] This diagram is a high level view of a system. It is similar to a block diagram.

http://en.wikipedia.org/wiki/System_context_diagram
Term
What is a clustered index?
Definition
A clustered index is a special type of index that reorders the way records in the table are physically stored. Therefore table can have only one clustered index. The leaf nodes of a clustered index contain the data pages.
Term
What is a non-clustered index?
Definition
A nonclustered index is a special type of index in which the logical order of the index does not match the physical stored order of the rows on disk. The leaf node of a nonclustered index does not consist of the data pages. Instead, the leaf nodes contain index rows.
Term
What is a bitmap index?
Definition
An index used when there is low variability with the data being indexed.
Term
What is a covering index?
Definition
A covering index is a special case where the index itself contains the required data field(s) and can return the data.
Supporting users have an ad free experience!