Please review the attachment for instructions
WK4 Discussion Instructions: RDBMS vs OODBMS and Cursors and Embedded SQL
250 words total, answer the questions below with 4 evidence base scholarly articles. APA format, due 15 Nov 24.
1. What are the main differences between designing a relational database and an object database. Illustrate by examples.
2. Describe the concept of a cursor and how it is used in embedded SQL.
400 words total, replying to the two posts below. Each reply must be 200 words for post 1 and post 2.
J.F Post #1
Good morning everyone,
When designing a database, the differences between a relational database (RDB) and an object database (ODB) are quite noticeable. A relational database organizes data into tables, where each table has rows (representing individual records) and columns (representing attributes of those records). For example, imagine a university system with tables for students, courses, and professors, where relationships between them are managed using keys like primary and foreign keys (Elmasri & Navathe, 2015). This structure is great for handling structured data and supports SQL queries, which are widely used to manipulate data. On the other hand, an object database uses object-oriented principles, storing data as objects (just like in programming languages like Java or C++). Instead of storing information in rows and columns, an object database might store a student as an object with attributes like name, student_id, and courses, as well as methods to handle specific behaviors. This approach is particularly useful when dealing with more complex relationships between data and when you want to combine data and behavior in a more natural, object-oriented way (Elmasri & Navathe, 2015).
Now, let’s talk about cursors in embedded SQL. A cursor is a tool used to handle query results row by row, which comes in handy when you want to process large sets of data without overwhelming your system’s memory. In an embedded SQL program, if you run a query to get a list of employees, for instance, a cursor allows you to go through each employee’s information one at a time, making the process more manageable and efficient (Elmasri & Navathe, 2015). This way, you can fetch, update, or delete specific rows without needing to load everything into memory all at once.
References
Elmasri, R., & Navathe, S. B. (2015).
Fundamentals of Database Systems (7th ed.). Pearson Education.
M.T Post #2:
As we’ve discussed in previous weeks, a relational database (DB) stores and provides access to related data. Based on the relational model, data (entities) are represented in the form of tables, with columns holding attributes that describe the data and rows containing records with values for each attribute. Each row in the tables has a unique ID (primary key) to allow the establishment of relationships among different tables. Another type of database is the object-oriented (OO) database. OO DBs are based on OO programming language and store and represent data in the form of objects (similar to a real-world entity). OO DBs apply object-oriented concepts such as object ID (similar to primary key), classes of objects (collection of objects), encapsulation, and inheritance. Fundamentally, relational DBs are considered simpler (tables and their values are easier to understand), flexible (no requirement for users to have pre-defined keys for data input), and productive (SQL is a simpler program to learn). However, for the same reasons, relational DBs are limited in technical capacity compared to OO DBs that are capable of processing complex and larger data, faster in performance for OO queries, scalable due to flexible schema, and highly flexible due to their OO nature. Relational DBs are often used in social media applications, chat applications, and multimedia storage. While OO DBs are leveraged for engineering applications, geographic information systems, and applications with complex and larger data sets.
Embedded SQL is a DB programming approach that uses embedded DB commands in a programming language such as Java or C++. The DB commands correspond to a special set of prefixes, and a precompiler/preprocessor scans the source code to identify the DB statements for processing of the DBMS. When using embedded SQL and the query returns multiple rows, a cursor is used to identify the current row and allows the processing of rows one at a time. A cursor can be explicitly defined to process beyond the first returned row or track which row is currently being processed.
References:
Elmasri, R., & Navathe, S. B. (2016). Fundamentals of database systems, 7th ed. New York, NY: Pearson Addison-Wesley
Kumar, K. (n.d.). Object-Oriented Database Management System (OODBMS)