What you will learn in Grokking Relational Database Design
Chapter by chapter
Concepts explained in this book
- foreign keyA foreign key constraint requires values in a child table's foreign key column to correspond to valid primary key values in a parent table and restricts operations that would break that correspondence.
- primary keyA primary key constraint is an SQL constraint that requires primary-key values to be unique and non-NULL within a table.
- cardinalityCardinality is the number of instances of a target entity that can be associated with one instance of a source entity in a directional relationship.
- unique constraintA unique constraint is a database rule requiring every value, or every combined value across specified columns, to be distinct.
- surrogate keyA surrogate key is an artificially created key value used to uniquely identify a row independently of the row's natural attributes.
- join tableA junction table is a relational table that represents a many-to-many relationship by storing references to the participating entities.
- database designDatabase design is the process of defining a database's structures, relationships, constraints, and organization to meet data requirements.
- minimum cardinalityMinimum cardinality is the smallest number of related entity instances required or permitted for an entity instance in a relationship.
- one-to-many relationshipA many-to-one relationship is a relationship in which multiple instances on one side are associated with a single instance on the other side.
- entityA distinct real-world object or concept that can be described by attributes and represented by data.
- child tableA child table is the related table that contains a foreign key referencing a key in a parent table.
- Boyce-Codd normal formBoyce-Codd normal form is a relational normalization condition requiring every nontrivial functional dependency to have a superkey as its determinant.
- referential integrityThe property that references between related tables remain valid and consistent as rows are inserted, updated, or deleted.
- encryptionEncryption is the transformation of readable data into encoded information that cannot be understood without the appropriate decryption capability.
- char(n)CHAR is a fixed-length SQL character-string data type whose declared length determines its stored character width.
- plain textPlain text is data stored in a directly readable, unencoded form.
- candidate keyA minimal combination of table attributes whose values uniquely identify a row, with no removable attribute retaining that property.
- authorizationThe restriction of data or system operations according to the permissions granted to users or processes.
- interviewAn interview is a structured conversation for eliciting information from people about their work, requirements, or practices.
- confidentialityConfidentiality is the property that information is accessible and disclosed only to authorized people and processes.
- number typeNUMERIC is an SQL exact numeric data type that stores numbers with a declared precision and scale.
- AESAES is a symmetric block-cipher standard that encrypts data using key sizes of 128, 192, or 256 bits.
- Base64Base64 is an encoding standard that represents binary data as ASCII characters.
- cryptographic saltA cryptographic salt is a random value combined with password input before hashing to make precomputed hash attacks less effective.
- grant statementA GRANT statement assigns specified database privileges to a role or user.
- hash functionA hash function is a function that maps variable-length input data to a fixed-length output value.
- mandatory access controlMandatory access control is an access-control model in which a central authority assigns fixed classification-based permissions that users cannot override.
- one-way encryptionOne-way encryption transforms input data into a fixed-size representation designed to be computationally impractical to reverse.
- role-based access controlRole-based access control is an access-control model in which permissions are assigned to roles and users receive permissions through those roles.
- symmetric key encryptionSymmetric encryption is reversible encryption that uses the same secret key for encryption and decryption.
- superkeyA superkey is a set of one or more table columns whose values uniquely identify a row, possibly including unnecessary columns.
- full-text search indexA full-text index is a specialized database index that supports efficient searching within larger text values.
- subjectA subject is a person, place, thing, event, or other real-world item identified as relevant to a database design.
- entity-relationship diagramAn entity-relationship diagram is a visual model showing entities, their attributes, and the relationships between them, including relationship cardinalities.
- varchar data typeVARCHAR is a variable-length SQL character string data type that stores values up to a declared maximum length.
- functional dependencyA functional dependency is a constraint in which a value or set of values in one or more columns uniquely determines the value of another column.
- one-to-one relationshipA one-to-one relationship is a relationship in which each entity instance is associated with at most one instance of the other entity in both directions.
- not-null constraintA NOT NULL constraint requires a column to contain a non-NULL value.
- transitive dependencyA transitive dependency is a functional dependency in which a nonkey attribute depends on another nonkey attribute that depends on a key.
- optimizationOptimization is the process of improving database structures or operations to increase efficiency and responsiveness.
- denormalizationDenormalization is the deliberate introduction of controlled redundancy or less-normalized database structures to improve performance or meet operational needs.
- timestampA TIMESTAMP data type records a date and time representing an exact event moment, typically with automatic time-zone conversion by the database system.
- dependent entityAn entity whose identification depends on a related owner entity and typically cannot be uniquely identified by its own attributes alone.
- character encodingA character set is a defined mapping and storage scheme for representing characters and symbols in a database.
- columnA column is a named field in a relational table whose values share a defined meaning and data type.
- DecimalA DECIMAL data type is an SQL fixed-point numeric type whose precision and scale control the represented number of digits.
- parent tableA parent table is the related table whose shared key is referenced by a foreign key in another table.
- third normal formThird normal form is a relational design level in which the table is in second normal form and non-key attributes do not depend transitively on a key.
- strong entityA strong entity is an entity that can exist independently and be uniquely identified without another entity.
- ChatGPTChatGPT is a conversational generative artificial intelligence service that produces responses to user prompts.
- recordA table record containing values for the columns of one represented entity or relationship.
- data integrityData integrity is the property that data remains accurate, complete, valid, trustworthy, and protected from unintended alteration or loss.
- constraintA database constraint is a rule that restricts permitted data values or database states to preserve validity, consistency, and integrity.
- where clauseA WHERE clause is an SQL clause that restricts query results to rows satisfying a predicate.
- data typeAn SQL data type specifies the kind of values that a database column can store and the operations supported for those values.
- delete anomalyA deletion anomaly is an undesirable data-maintenance problem in which removing one fact unintentionally removes another fact that was stored with it.
- maximum cardinalityMaximum cardinality is the largest number of target-entity instances with which one source-entity instance can be associated.
- selectA SELECT statement is a SQL query construct that specifies data to retrieve and expressions to evaluate.
- normalizationNormalization is the process of organizing relational data into separate tables to reduce redundancy and prevent update anomalies.
- naming standardA naming convention is a consistent set of rules for naming database objects and their components.
- Crow's Foot notationCrow's Foot notation is an entity-relationship diagram convention that uses crow's-foot symbols to represent relationship cardinality and participation.
- update anomalyAn unintended inconsistency caused by updating duplicated data in one table while failing to update the corresponding data in another table.
- keyword queryKeyword searching is a query technique that finds records containing specified words or terms in text.
- CREATE TABLE statementCREATE TABLE is an SQL statement that defines a new relational table and its columns and constraints.
- cascading deleteCASCADE is a referential action that automatically propagates parent-row deletions or key updates to corresponding child rows.
- timeA TIME data type stores a time of day without calendar-date information.
- unsigned integerAn unsigned integer is a nonnegative integer representation without a negative sign.
- arbitrary-precision integerBIGINT is a SQL integer data type designed to represent very large whole-number values.
- smallintSMALLINT is a small SQL integer data type with an implementation-defined fixed storage size and numeric range.
- TINYINTTINYINT is a small SQL integer data type with an implementation-defined fixed storage size and numeric range.
- nonaggregate attributeA nonaggregate attribute is a selected column or expression that is not computed by an aggregate function.
- snake caseA naming style that separates words with underscores, typically using lowercase letters.
- B-treeA B-tree is a self-balancing tree data structure that maintains sorted data and supports search, sequential access, insertion, and deletion in logarithmic time.
- order by clauseAn ORDER BY clause specifies the ordering applied to rows returned by an SQL query.
- standard indexA standard index is a database index that accelerates operations such as sorting and exact-value matching.
- default valueA DEFAULT constraint supplies a specified value for a column when an inserted row omits that column.
- insertion anomalyAn insertion anomaly is an undesirable data-maintenance problem in which a record cannot be added without also supplying unrelated or duplicated information.
- from clauseA FROM clause specifies the table or tables that provide the source rows for an SQL query.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.
