๐Ÿ‡ต๐Ÿ‡ฐ CSS Computer Science ยท subject

CSS Computer Science Databases, Image Processing & Web Technologies Syllabus

The Databases, Image Processing & Web Technologies syllabus for CSS Computer Science in full: 5 chapters and 25 topics, every one listed below, plus 57 Databases, Image Processing & Web Technologies flashcards with answers.

5Chapters
25Topics
57Flashcards

Databases, Image Processing & Web Technologies syllabus: all 5 chapters

Expand any chapter to see its topics and sub-topics.

  1. Relational Database Systems

    5 topics
    • Relational Model & Constraints
    • Entity-Relationship Modeling
    • Relational Algebra & Calculus
    • SQL
    • PL/SQL Procedures & Triggers
  2. Database Design & Processing

    5 topics
    • Functional Dependencies
    • Normalization
    • Storage & Indexing Structures
    • Query Processing & Optimization
    • Transaction Processing & Concurrency
  3. Advanced Databases

    4 topics
    • Distributed Databases
    • Object-Oriented Databases
    • XML & Web Services
    • Database Security & Access Control
  4. Digital Image Processing

    6 topics
    • Image Sensing & Acquisition
    • Sampling & Quantization
    • Geometric Transformations
    • Image Enhancement
    • Color Models & Restoration
    • Morphological Operations & Segmentation
  5. Web Engineering & Technologies

    5 topics
    • Web Application Modeling & Requirements
    • Web Software Architecture
    • Client-Side Programming
    • Server-Side Programming (PHP)
    • Deployment, Testing & Security

CSS Computer Science Databases, Image Processing & Web Technologies flashcards โ€” 57 questions with answers

  1. In the relational model, what is a relation?

    A relation is a set of tuples sharing the same attributes, represented as a two-dimensional table with rows (tuples) and columns (attributes); it has a schema (name + attributes) and an instance (the set of current tuples).

  2. Define the degree and cardinality of a relation.

    Degree (arity) is the number of attributes (columns) in the relation; cardinality is the number of tuples (rows) currently in the relation instance.

  3. What is a candidate key, and how does it relate to a superkey and a primary key?

    A superkey is any set of attributes that uniquely identifies a tuple. A candidate key is a minimal superkey (no proper subset is a superkey). The primary key is the candidate key chosen to identify tuples; remaining candidate keys are alternate keys.

  4. State the entity integrity constraint.

    Entity integrity requires that no attribute of a primary key may have a NULL value, ensuring every tuple is uniquely identifiable.

  5. State the referential integrity constraint.

    Referential integrity requires that a foreign key value either match an existing primary/candidate key value in the referenced relation or be wholly NULL; it forbids dangling references.

  6. What is a foreign key?

    A foreign key is an attribute (or set) in one relation that references the primary (or candidate) key of another (or the same) relation, establishing a link between the two relations.

  7. What is the difference between a domain constraint and a key constraint?

    A domain constraint restricts the set of permitted atomic values for an attribute (its data type/range). A key constraint requires that the values of a key attribute set be unique across all tuples.

  8. In ER modeling, distinguish an entity, an entity type, and an entity set.

    An entity is a real-world object; an entity type is the schema/definition (name + attributes) describing a class of such objects; an entity set is the collection of all entities of that type at a given time.

  9. What is a weak entity type and how is it identified?

    A weak entity type has no key attributes of its own; it depends on an owner (identifying) entity type and is identified by combining its partial key (discriminator) with the owner's primary key, via an identifying relationship.

  10. Define the cardinality ratios of binary relationships in ER modeling.

    They specify how many entities can participate: 1:1 (one-to-one), 1:N (one-to-many), and M:N (many-to-many), constraining how instances of one entity type associate with the other.

  11. What is the difference between total and partial participation in an ER relationship?

    Total (mandatory) participation means every entity of the set must take part in the relationship (shown by a double line); partial (optional) participation means some entities may not participate.

  12. What is a multivalued attribute in ER modeling, and how is it mapped to relations?

    A multivalued attribute can hold multiple values for one entity (e.g., phone numbers). It is mapped to a separate relation containing the entity's primary key plus the attribute, with both forming the new key.

  13. List the fundamental (primitive) operations of relational algebra.

    Selection (ฯƒ), Projection (ฯ€), Cartesian product (ร—), Union (โˆช), Set difference (โˆ’), and Rename (ฯ). All other operations (join, intersection, division) can be derived from these.

  14. What does the selection operator ฯƒ do versus the projection operator ฯ€?

    Selection ฯƒ picks rows (tuples) that satisfy a predicate (horizontal subset). Projection ฯ€ picks specified columns (attributes) and removes duplicates (vertical subset).

  15. Define a natural join in relational algebra.

    A natural join (โ‹ˆ) combines tuples from two relations that have equal values on all commonly named attributes, automatically eliminating the duplicate join columns from the result.

  16. What is the difference between an equi-join and a theta-join?

    A theta-join joins tuples satisfying an arbitrary comparison condition (ฮธ โˆˆ {<,โ‰ค,=,โ‰ ,>,โ‰ฅ}). An equi-join is the special case where the condition uses only equality (=); it keeps both join columns (unlike natural join).

  17. What does the relational division operation compute?

    Division (R รท S) returns the tuples of R that are associated with every tuple of S; it answers 'for all' queries, e.g., 'find suppliers who supply all parts.'

  18. What is the difference between tuple relational calculus and domain relational calculus?

    Both are nonprocedural. Tuple relational calculus uses variables ranging over tuples ({t | P(t)}); domain relational calculus uses variables ranging over individual attribute domain values ({<x1,...,xn> | P(x1,...,xn)}).

  19. What does it mean for relational algebra and relational calculus to be 'relationally complete'?

    A query language is relationally complete if it can express every query expressible in relational algebra. Codd showed safe relational calculus and relational algebra are equivalent in expressive power.

  20. What is the difference between WHERE and HAVING clauses in SQL?

    WHERE filters individual rows before grouping and cannot use aggregate functions; HAVING filters groups after GROUP BY and can use aggregate functions (e.g., HAVING COUNT(*) > 5).

Show the other 37 Databases, Image Processing & Web Technologies flashcards
  1. List the standard SQL aggregate functions.

    COUNT, SUM, AVG, MIN, and MAX. They operate over a set of values; COUNT(*) counts rows, while aggregates generally ignore NULLs (except COUNT(*)).

  2. What is the logical order of evaluation of SQL clauses?

    FROM (and JOINs) โ†’ WHERE โ†’ GROUP BY โ†’ HAVING โ†’ SELECT โ†’ DISTINCT โ†’ ORDER BY โ†’ LIMIT. (Written order differs from this evaluation order.)

  3. Distinguish INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, and FULL OUTER JOIN.

    INNER returns only matching rows. LEFT OUTER returns all left rows plus matches (NULLs for unmatched right). RIGHT OUTER returns all right rows plus matches. FULL OUTER returns all rows from both, with NULLs where no match exists.

  4. What is the difference between the DELETE, TRUNCATE, and DROP statements in SQL?

    DELETE (DML) removes selected rows and can be rolled back. TRUNCATE (DDL) removes all rows quickly, usually not logged per-row and not easily rolled back. DROP (DDL) removes the entire table structure and data.

  5. In SQL, how does UNION differ from UNION ALL?

    UNION combines result sets and removes duplicate rows (requiring a sort/hash). UNION ALL combines them keeping all duplicates, making it faster since no duplicate elimination occurs.

  6. What is a correlated subquery?

    A correlated subquery references columns from the outer query and is evaluated once per outer row (e.g., with EXISTS), as opposed to a non-correlated subquery that is evaluated once independently.

  7. In PL/SQL, what are the three sections of a block?

    The Declaration section (DECLARE โ€” variables, cursors, types), the Executable section (BEGIN...END โ€” statements), and the Exception-handling section (EXCEPTION โ€” error handlers). Only the executable section is mandatory.

  8. What is the difference between a PL/SQL stored procedure and a function?

    A procedure performs an action and need not return a value (uses OUT parameters), invoked as a statement. A function must return a single value via RETURN and can be used within SQL expressions.

  9. What is a database trigger and what are its main types?

    A trigger is a stored block that executes automatically in response to a DML/DDL event. Types: BEFORE vs AFTER (timing), row-level (FOR EACH ROW) vs statement-level, and INSERT/UPDATE/DELETE (triggering event).

  10. In a PL/SQL row-level trigger, what do :OLD and :NEW refer to?

    :OLD holds the column values before the change (meaningful for UPDATE/DELETE) and :NEW holds the values after the change (meaningful for INSERT/UPDATE), allowing access to row data during firing.

  11. What is an explicit cursor in PL/SQL and its four operations?

    An explicit cursor is a named pointer to a query's result set for row-by-row processing. Operations: DECLARE (define), OPEN (execute query), FETCH (retrieve a row), and CLOSE (release). Attributes include %FOUND, %NOTFOUND, %ROWCOUNT, %ISOPEN.

  12. Define a functional dependency X โ†’ Y.

    A functional dependency X โ†’ Y holds if, for any two tuples that agree on the attribute set X, they must also agree on Y; i.e., X functionally determines Y.

  13. State Armstrong's three primary axioms (inference rules) for functional dependencies.

    Reflexivity: if Y โІ X then X โ†’ Y. Augmentation: if X โ†’ Y then XZ โ†’ YZ. Transitivity: if X โ†’ Y and Y โ†’ Z then X โ†’ Z. These are sound and complete.

  14. What is the closure of an attribute set X (X+)?

    X+ is the set of all attributes functionally determined by X under a given set of FDs. It is used to test whether X is a superkey (X+ = all attributes) and to verify whether an FD is implied.

  15. Distinguish a partial dependency from a transitive dependency.

    A partial dependency is when a non-prime attribute depends on part of a composite candidate key (violates 2NF). A transitive dependency is when a non-prime attribute depends on another non-prime attribute (violates 3NF).

  16. What is the goal of normalization, and what two problems does it reduce?

    Normalization decomposes relations to minimize redundancy and avoid update anomalies (insertion, deletion, modification anomalies) by ensuring attributes depend only on keys.

  17. State the requirements for First Normal Form (1NF).

    A relation is in 1NF if all attribute values are atomic (single-valued) and there are no repeating groups, multivalued attributes, or nested relations.

  18. State the rule for Second Normal Form (2NF).

    A relation is in 2NF if it is in 1NF and every non-prime attribute is fully functionally dependent on every candidate key (no partial dependency on part of a composite key).

  19. State the rule for Third Normal Form (3NF).

    A relation is in 3NF if it is in 2NF and has no transitive dependency of a non-prime attribute on a candidate key; equivalently, for every FD Xโ†’A either X is a superkey or A is a prime attribute.

  20. State the condition for Boyce-Codd Normal Form (BCNF).

    A relation is in BCNF if for every nontrivial functional dependency X โ†’ Y, X is a superkey. BCNF is stricter than 3NF and removes anomalies caused by overlapping candidate keys.

  21. What dependency does Fourth Normal Form (4NF) address?

    4NF eliminates nontrivial multivalued dependencies (MVDs): a relation is in 4NF if it is in BCNF and for every nontrivial MVD X โ†  Y, X is a superkey.

  22. What are the two desirable properties of a relational decomposition?

    Lossless-join (the natural join of the decomposed relations exactly reconstructs the original, no spurious tuples) and dependency preservation (all original FDs are enforceable on the decomposed relations without joins).

  23. Differentiate a primary (clustering) index from a secondary index.

    A primary/clustering index is on the field by which the file is physically ordered (one per file). A secondary index is on a non-ordering field; there can be many, and they are typically dense.

  24. What is the difference between a dense index and a sparse index?

    A dense index has one index entry for every search-key value (every record). A sparse index has entries only for some search-key values (e.g., one per data block), requiring the file to be ordered on the key.

  25. What is a B+-tree and why is it preferred for database indexing?

    A B+-tree is a balanced multi-way search tree where all data pointers reside in the leaf nodes (linked sequentially) and internal nodes hold only keys. It keeps height low for fast equality and range queries and stays balanced under insertion/deletion.

  26. How does hashing-based indexing differ from B+-tree indexing in access patterns?

    Hash indexes give O(1) average access for exact-match (equality) lookups but cannot efficiently support range queries; B+-trees support both equality and ordered range queries via their sorted leaf structure.

  27. What are the typical phases of SQL query processing?

    Parsing and translation (SQL to relational algebra/internal form), optimization (choosing an efficient execution plan based on cost estimates), and evaluation/execution (running the chosen plan to produce results).

  28. Distinguish heuristic (rule-based) optimization from cost-based optimization.

    Heuristic optimization applies transformation rules (e.g., push selections and projections down early) to improve the query tree without cost estimates. Cost-based optimization enumerates alternative plans and selects the one with the lowest estimated cost using statistics.

  29. State the ACID properties of a transaction.

    Atomicity (all-or-nothing), Consistency (preserves database integrity constraints), Isolation (concurrent transactions appear serial), and Durability (committed changes survive failures).

  30. Name three concurrency problems that arise without proper isolation.

    Lost update, dirty read (reading uncommitted data), and unrepeatable read / phantom read. These motivate concurrency-control mechanisms like locking and timestamping.

  31. What is two-phase locking (2PL) and what does it guarantee?

    2PL is a protocol with a growing phase (only acquire locks) and a shrinking phase (only release locks); once a lock is released no new lock may be acquired. It guarantees conflict-serializable schedules; strict 2PL also avoids cascading aborts.

  32. What does it mean for a schedule to be conflict-serializable, and how is it tested?

    A schedule is conflict-serializable if it can be transformed into a serial schedule by swapping non-conflicting adjacent operations. It is tested by building a precedence (serialization) graph and checking that it has no cycles.

  33. Define data fragmentation in distributed databases and its main types.

    Fragmentation splits a relation across sites. Horizontal fragmentation divides by rows (subsets of tuples via selection), vertical fragmentation divides by columns (subsets of attributes via projection, keeping the key), and mixed/hybrid combines both.

  34. What is the difference between replication and fragmentation transparency in distributed databases?

    Replication transparency hides that multiple copies of data exist across sites; fragmentation transparency hides that a relation is split into fragments. Both let users query the global schema as if it were a single centralized database.

  35. What is the two-phase commit (2PC) protocol used for in distributed databases?

    2PC ensures atomic commitment across sites: in the prepare/voting phase the coordinator asks all participants to vote commit or abort; in the decision phase it commits only if all voted yes, otherwise aborts, ensuring all-or-nothing globally.

  36. What characterizes an object-oriented database (OODBMS)?

    An OODBMS stores data as objects, integrating OOP concepts โ€” object identity (OID), encapsulation, classes, inheritance, and complex/user-defined types โ€” directly into the database, reducing the impedance mismatch with OO programming languages.

  37. What is the impedance mismatch that object-oriented and object-relational databases aim to solve?

    It is the mismatch between the set-oriented, flat relational model and the navigational, object structures (objects, inheritance, references) of object-oriented programming languages, which forces tedious data conversion between the two.

CSS Computer Science Databases, Image Processing & Web Technologies FAQ

What is in the CSS Computer Science Databases, Image Processing & Web Technologies syllabus?

CSS Computer Science Databases, Image Processing & Web Technologies is split into 5 chapters: Relational Database Systems, Database Design & Processing, Advanced Databases, Digital Image Processing and Web Engineering & Technologies. Together they contain 25 topics.

How many chapters are in CSS Computer Science Databases, Image Processing & Web Technologies?

5 chapters, containing 25 topics. The largest chapter is Digital Image Processing, with 6 topics.

Are there flashcards for CSS Computer Science Databases, Image Processing & Web Technologies?

Yes โ€” a 57-card Databases, Image Processing & Web Technologies deck, printed in full in the flashcards section of this page and available in the Examius app with spaced repetition. The free plan covers one exam of your choice, including its flashcards; Examius Pro, a one-time purchase, unlocks every other exam and deck.