Data Modeling Interview Questions
Data Modeling Interview Questions
Q. What is data modeling?
A data model is a conceptual representation of business requirement (logical data model) or database objects (physical) required for a database and are very powerful in expressing and communicating the business requirements and database objects. The approach by which data models are created is called as data modeling.
Q. What does data model contain?
Logical Data Model: Entity, Attributes, Super Type, Sub Type, Primary Key, Alternate Key, Inversion Key Entry, Rule, Relationship, Definition, business rule, etc
Physical Data Model: Table, Column, Primary key Constraint, Unique Constraint or Unique Index, Non Unique Index, Check Constraint, Default Value, Foreign Key, comment etc.
Q. What is a logical data model and logical data modeling?
A logical data model is the version of a data model that represents the business requirements (entire or part of an organization). This is the actual implementation and extension of a conceptual data model. Logical Data Models contain Entity, Attributes, Super Type, Sub Type, Primary Key, Alternate Key, Inversion Key Entry, Rule, Relationship, Definition etc. The approach by which logical data models are created is called as logical data modeling.
Q. What is a physical data model and physical data modeling?
Physical data model includes all required tables, columns, relationship, database properties for the physical implementation of databases. Database performance, indexing strategy, and physical storage are important parameters of a physical model. The important or main object in a database is a table which consists or rows and columns. The approach by which physical data models are created is called as physical data modeling.
Q. What is the difference between a logical and physical data model?
Logical | Physical Data Modeling:
When a data modeler works with the client, his title may be a logical data modeler or a physical data modeler or combination of both. A logical data modeler designs the data model to suit business requirements, creates and maintains the lookup data, compares the versions of data model, maintains change log, generate reports from data model and whereas a physical data modeler has to know about the source and target databases properties.
A physical data modeler should know the technical-know-how to create data models from existing databases and to tune the data models with referential integrity, alternate keys, indexes and how to match indexes to SQL code. It would be good if the physical data modeler knows about replication, clustering and so on.
Q. What is a table (entity)?
Data stored in form of rows and columns is called as table. Each column has datatype and based on the situation, integrity constraints are enforced on columns.
Q. What is a column (attribute)?
Column also known as field is a vertical alignment of the data and contains related information to that column.
Q. What is a row?
Row also known as tuple or record is the horizontal alignment of the data.
Q. What is ER (entity relationship) diagram or ERD?
ER diagram is a visual representation of entities and the relationships between them. In a data model, entities (tables) look like square boxes or rectangular boxes, which contain attributes and these entities, are connected by lines (relationship).
Q. What is a primary key constraint?
Primary key constraint is imposed on the column data to avoid null values and duplicate values. Primary Key=Unique + Not Null. Example: social security number, bank account number, bank routing number
Q. What is a composite primary key constraint?
When more than one column is a part of the primary key, it is called as composite primary key constraint.
Q. What is a surrogate key?
In normal practice, a numerical attribute is enforced a primary key which is called as surrogate key. Surrogate key is a substitute for natural keys. Instead of having primary key or composite primary keys, the data modelers create a surrogate key; this is very useful for creating SQL queries, uniquely identify a record and good performance.
Q. What is a foreign key constraint?
Parent table has primary key and a foreign key constraint is imposed on a column in the child table. The foreign key column value in the child table will always refer to primary key values in the parent table.
Q. What is a composite foreign key constraint?
When group of columns are in a foreign key, it is called as composite foreign key constraint.
Q. What are the important types of Relationships in a data model?
Identifying, Non-Identifying Relationship, Self-Recursive relationship are the types of relationship.
Q. What is identifying relationship?
Usually, in a data model, parent tables and child tables are present. Parent table and child table are connected by a relationship line. If the referenced column in the child table is a part of the primary key in the child table, relationship is drawn by thick lines by connecting these two tables, which is called as identifying relationship.
Q. What is non-identifying relationship?
Usually, in a data model, parent tables and child tables are present. Parent table and child table are connected by a relationship line. If the referenced column in the child table is a not a part of the primary key and standalone column in the child table, relationship is drawn by dotted lines by connecting these two tables, which is called as non-identifying relationship.
Q. What is self-recursive relationship?
A standalone column in a table will be connected to the primary key of the same table, which is called as recursive relationship.
Q. What is cardinality?
One to One, One to many, and many to many are different types of cardinalities. In a database, high cardinality means more unique values are stored in a column and vice versa.
Q. What is a conceptual data model and conceptual data modeling?
Conceptual data model includes all major entities and relationships and does not contain much detailed level of information about attributes and is often used in the initial planning phase. Data Modelers create conceptual data model and forward that model to functional team for their review. The approach by which conceptual data models are created is called as conceptual data modeling.
Q. What is an enterprise data model?
Enterprise data model comprises of all entities required by an enterprise. The development of a common consistent view and understanding of data elements and their relationships across the enterprise is referred to as Enterprise Data Modeling. For better understanding purpose, these data models are split up into subject areas.
Q. What is relational data modeling?
The visual representation of objects in a relational database (usually a normalized) is called as relational data modeling. Table contains rows and columns.
Q. What is OLTP data modeling?
OLTP acronym stands for ONLINE TRANSACTIONAL PROCESSING. The approach by which data models are constructed for transactions is called as OLTP data modeling. Example: all online transactions, bank transactions, trading transactions.
Q. What is a constraint? What are the different types of constraint?
Constraint is a rule imposed on the data. The different types of constraints are primary key, unique, not null, foreign key, composite foreign key, check constraint etc.
Q. What is a unique constraint?
Unique constraint is imposed on the column data to avoid duplicate values, but it will contain NULL values.
Q. How many null values can be inserted in a column that has unique constraint?
Many null values can be inserted in an unique constraint column because one null value is not equal to another null value.
Q. What is a check constraint?
Check constraint is used to check range of values in a column.
Q. What is index?
Index is imposed on a column or set of columns for fastest retrieval of data.
Q. What is a sequence?
Sequence is a database object to generate unique number.
Q. What is normalization?
E.F. Codd gave some rules to design relational databases and the rules were focused on removing data redundancy which helps to overcome normal data modeling problems. The process of removing data redundancy is known as normalization.
Q. What are the types of normalization?
First normal form, Second normal form, third normal forms are three types of normalization used in practice. Beyond these normal forms, Boyce-Codd fourth and fifth normal forms are also available.
Q. What is De-Normalization?
De-Normalization is a process of adding redundancy to the data. This helps to quickly retrieve the information from the database.
Q. What is data model Meta data?
You can take a report of the entire data model, or subject or part of the data model. The data about various objects in the data model is called as data model Metadata. .Data Modeling Tools have options to create reports by checking the various options. Either you can create logical data model Meta data of physical model Meta data.
Q. What is data model repository?
Data Model and its relevant data like entity definition, attribute definition, columns, data types etc. are stored in a repository, which can be accessed by data modelers and the entire team.
Q. What is forward engineering in a data model?
Forward Engineering is a process by which DDL scripts are generated from the data model. Data modeling tools have options to create DDL scripts by connecting with various databases. With these scripts, databases can be created.
Q. What is reverse engineering in a data model?
Reverse Engineering is a process useful for creating the data models from database or scripts. Data modeling tools have options to connect to the database by which we can reverse engineer a database into a data model.
Q. What is a subtype and super type entity?
An entity can be split into many entities (sub-entities) and grouped based on some characteristics and each sub entity will have attributes relevant to that entity. These entities are called subtype entities. The attributes which are common to these entities are moved to a super (higher) level entity, which is called as supertype entity.
Q. Give us a non-computer example of preemptive and non-preemptive scheduling?
Consider any system where people use some kind of resources and compete for them. The non-computer examples for preemptive scheduling the traffic on the single lane road if there is emergency or there is an ambulance on the road the other vehicles give path to the vehicles that are in need. The example for preemptive scheduling is people standing in queue for tickets.
Q. What is the difference between star flake and snow flake schema?
Star Schema: Well in star schema you just enter your desired facts and all the primary keys of your dimensional tables in Fact table. And fact tables primary is the union of its all dimension table key. In star schema dimensional tables are usually not in BCNF form.
Snow Flake: Its almost like starschema but in this our dimension tables are in 3rd NF, so more dimensions tables. And these dimension tables are linked by primary, foreign key relation.
Q. What is data sparsity and how it effect on aggregation?
Data sparsity is term used for how much data we have for a particular dimension/entity of the model.
It affects aggregation depending on how deep the combination of members of the sparse dimension make up. If the combination is a lot and those combination do not have any factual data then creating space to store those aggregations will be a waste as a result, the database will become huge.
Q. What is the difference between hashed file stage and sequential file stage in relates to DataStage Server?
In datastage server jobs, can we use sequential filestage for a lookup instead of hashed filestage. If yes ,then what’s the advantage of a Hashed File stage over sequential filestage
search is faster in hash files as you can directly get the address of record directly by hash algorithm as records are stored like that but in case of sequential file u must compare all the records.
Q. When should you consider denormalization?
Denormalization is used when there are a lot of tables involved in retrieving data. Denormalization is done in dimensional modelling used to construct a data ware house. This is not usually done for data bases of transactional systems.
Q. What is ERD?
Data models are tools used in analysis to describe the data requirements and assumptions in the system from a top-down perspective. They also set the stage for the design of databases later on in the SDLC.
There are three basic elements in ER models:
Entities are the “things” about which we seek information.
Attributes are the data we collect about the entities.
Relationships provide the structure needed to draw information from multiple entities
Q. What is third normal form?
An entity is in the third normal form if it is in the second normal form and all of its attributes are not transitively dependent on the primary key. Transitive dependence means that descriptor key attributes depend not only on the whole primary key, but also on other descriptor key attributes that, in turn, depend on the primary key. In SQL terms, the third normal form means that no column within a table is dependent on a descriptor column that, in turn, depends on the primary key.
For 3NF, first, the table must be in 2NF, plus, we want to make sure that the non-key fields are dependent upon ONLY the PK, and not other non-key fields for its existence. This is very similar to to 2NF, except that now you are comparing the non-key fields to OTHER non-key fields. After all, we know that the relationship to the PK is good, because we established that in 2NF.
Q. Why are recursive relationships are bad? How do you resolve them?
Recursive relationships are an interesting and more complex concept than the relationships you have seen in the previous chapters, such as a one-to-one, one-to-many, and many-to-many. A recursive relationship occurs when there is a relationship between an entity and itself. For example, a one-to-many recursive relationship occurs when an employee is the manager of other employeess. The employee entity is related to itself, and there is a one-to-many relationship between one employee (the manager) and many other employees (the people who report to the manager). Because of the more complex nature of these relationships, we will need slightly more complex methods of mapping them to a schema and displaying them in a style sheet.
Q. Is this statement TRUE or FALSE? all databases must be in third normal form?
In general all organization data bases are normalized to 3nf in order to remove redundancy and efficient access. A data base can also be created without normalization. Hence it is not a mandatory that a database should be in 3nf.
Q. What is an artificial (derived) primary key? When should it be used?
Using a name as the primary key violates the principle of stability. The social security number might be a valid choice, but a foreign employee might not have a social security number. This is a case where a derived, rather than a natural, primary key is appropriate. A derived key is an artificial key that you create. A natural key is one that is already part of the database.
Q. What is second normal form?
An entity is in the second normal form if all of its attributes depend on the whole (primary) key. In relational terms, every column in a table must be functionally dependent on the whole primary key of that table. Functional dependency indicates that a link exists between the values in two different columns.
If the value of an attribute depends on a column, the value of the attribute must change if the value in the column changes. The attribute is a function of the column. The following explanations make this more specific:
If the table has a one-column primary key, the attribute must depend on that key.
If the table has a composite primary key, the attribute must depend on the values in all its columns taken as a whole, not on one or some of them.
If the attribute also depends on other columns, they must be columns of a candidate key; that is, columns that are unique in every row.
If you do not convert your model to the second normal form, you risk data redundancy and difficulty in changing data. To convert first-normal-form tables to second-normal-form tables, remove columns that are not dependent on the primary key.