Showing posts with label Group C. Show all posts
Showing posts with label Group C. Show all posts

Tuesday, February 13, 2018

Tran - Object-oriented Database


Object-oriented database (OODB) refers to a database model in which information is presented in the form of objects rather than data such as integers, strings or real numbers. The database is managed by object-oriented database management system (also known as OODBMS).
The interest in this type of database come from the needs of design support systems such as computer-aided software engineering, computer-aided manufacture or computer-aided design. These applications require databases that can handle complex data, and provide high performance dictated by interactive system.
In OODB, every entity is an object. While similar objects can be classified to classes and sub classes. An object has characteristic which are referred to as attributes. To be called an OODBMS, it must be a database management system, and an object-oriented system. Mandatory features of an object-oriented system are complex objects, object identity, encapsulation, classes, inheritance, overriding, extensibility and computational completeness.
The implementation of OODB is similar to relational database in the 70s. A primary feature of an OODBMS is that accessing objects in the database is done in a transparent manner such that interaction with persistent objects is no different from interacting with in-memory objects. This is very different from using a RDBMS in that there is no need to interact via a query sub-language like SQL. OODBMS were originally thought of to replace RDBMS because of their better fit with object-oriented programming languages. However, high switching cost, higher efficiency of RDBMS when dealing with simple data and relationship, the inclusion of object-oriented features in RDBMS to make them ORDBMS, and the emergence of object-relational mappers (ORMs) have made RDBMS successfully defend their dominance in the data center for server-side persistence

Sources:
Obasanjo, D. (n.d.). AN EXPLORATION OF OBJECT ORIENTED DATABASE MANAGEMENT SYSTEMS.
Kim, W., Nicolas, J. M., & Nishio, S. (1990). Deductive and object-oriented databases: proceedings of the First International Conference on Deductive and Object-Oriented Databases (DOOD89), Kyoto Research Park, Kyoto, Japan, 4-6 December, 1989.

Dung,

Do you think that object-oriented database will soon replace relational database? Since relational database management system has many drawbacks such as the expensive of setting up and maintaining the database system, fast increase in complexity of information. 

Marino,
I agree with you that one of the greatest benefit of OODB is that objects are stored by classes and sub classes which make it easier for navigation, also give the system a better concurrency control.


Shaden,
During my co-op with the construction unit of PWD, I had a chance to use a database developed by Oracle Project Management to keep track of issues or change orders with clients. Files can be accessed, downloaded and edited from anywhere by people who involved in the project. Use of database in design offices really saved lots of time and money for owner and contractors.  

B5 - Object Oriented Database - Marino



Object-Oriented Database


Object-oriented database is a database management system that represents its information in the form of objects. Object oriented database, which is also known as object oriented database management system (OODBMS), similar to object oriented programming languages. It can allow the user to combine the features of relational model such as transaction, concurrency, recovery into object oriented database model. There are three different features of object oriented database such as polymorphism, inheritance, and encapsulation. Polymorphism is known as object oriented programing language. It has ability to process objects according to their data type or class. Inheritance is one of the features of OODBMS that can create a new object from an existing object including all the characteristics of the existing object. Encapsulation is called one of the principal concepts in object oriented programming (OOP). It binds and manipulate the data and functions together as one unit.

The benefits of object-oriented database are composite objects and relationships, class hierarchy, no query language, no impedance mismatch, no primary keys, and one data model. One of the greatest benefits of using an OODBMS is that the user can store many different types of objects in a large class where it can also hold many medium classes as well as many smaller classes or objects. Object oriented database delivers information in a form of class hierarchy, which presents the information that easy to understand without spending too much time to get to know the details. Another benefit of object oriented database is easy to use and it does not have primary key. The user also can store or manipulate the information without spending too much time to mapping tables to objects and back unlike the rational database management system.

The downsides of the object oriented database are schema changes, language dependence. In OODBMS it is difficult to modify, update, or create the schema after completing the database management system. Usually the user has to recompile the system when the user decides to make schema changes. Another disadvantage of OODBMS is selecting the language has to only come from specific language using a specific API which also known as application language independent. This can be very confusing for some users when they are not familiar with API language.


Source: 

"AN EXPLORATION OF." Why Arent You Using An Object Oriented Database Management System? Accessed February 13, 2018. http://www.25hoursaday.com/whyarentyouusinganoodbms.html.


Object Based Databases Tutorial. Accessed February 13, 2018. http://www.tutorialride.com/object-based-databases/object-based-databases-tutorial.htm.

Beal, Vangie. "Polymorphism." What is Polymorphism? Webopedia Definition. Accessed February 13, 2018. https://www.webopedia.com/TERM/P/polymorphism.html.

"OOP Concept for Beginners: What is Encapsulation." Stackify. December 01, 2017. Accessed February 13, 2018. https://stackify.com/oop-concept-for-beginners-what-is-encapsulation/.





Deutsch,

You did such a great job explaining Rational Database Theory! I like how first you explained the general theory about database and then you went into details explaining the concepts of Rational Database. When I was reading about object oriented database in few articles I also found some interesting information about Rational Database. One of the interesting concept of rational database that I found was the user can modify, update, or change any information that already put in the table. In object oriented database it is difficult for the user to make a change on the database once its management system is completed.

Thomas,

You explained the importance of the SQL very well. I took INFO 210 and this course was about SQL. The database program such as Oracle SQL was interesting to learn but it required a lot of attention in class and practice the program at home in order to master the program. I agree with you that SQL allow us to understand and access the database elements a lot easier compare to some other database program such as Codasyl database.  

Zac,

I felt like I had to make a comment on your post after I read the word “Primavera P6” in the first sentence of your second paragraph. I had experienced using Primavera P6 when I took one of the construction management courses. The course was really fun and it was interesting to use Primavera to make a work schedule of a construction project the fact that it’s not only easy to use to conduct a work schedule but it also shows the Critical path of the project. I personally would like to recommend you to learn about the program if you are interested in learning about scheduling database.




Monday, February 12, 2018

B5-Object Oriented Database - Tangari

Object Oriented Database
An object oriented database or an object database management system (ODBMS) stores objects rather than data such as ingriedents, strings of real numbers. These objects are used in various languages such as C++ and Java.  They can contain attributes which is data that defines characteristics of an object and there are methods which define the behavior of an object.  These systems support the modelling and creation of the data as an object. The idea is that the object orientated database concepts can be superimposed on relational databases which are more commonly used.
Object Databases are a good choice for use in businesses that are high performing on complex data. This database is also used for less complex data because it allows for a smaller team and faster development because there is only one data model.  This database offers many advantages such as reduced maintenance, code reusability, real world modeling and improved reliability and flexibility. Real world modeling here has a more complete fashion where objects are organized into classes of objects and objects are associated with behaviors, its focus is on objects and not processing.
After to reading through the material that lead me to these above conclusions, my understanding of object oriented databases was still pretty weak.  With the video found through the following link my understanding is a more solid. Object oriented databases are better equip for storing complex data in comparison to relational databases which can store simpler data like employees names and hire dates where orientated data bases can store media, graphics, CAD and even geographical satellite information.  There is a terrific analogy referring the two to cars where OODMS is like a car that you drive into a parking garage and turn off the engine until you are ready to use it but relational data base you would have to break down the car into parts, put the pieces on different shelves then put it back together the next time you want to use it which leads to mistakes and errors.  A special language would be needed to put the relational information together as intended where OODMS would need no such language only to be told to start. Allowing data to be found where relational you would have to lock the table to change just one thing. Now I understand OODMS is capable of holding more complex data but is capable of being accused quickly and efficiently.

http://www.dba-oracle.com/t_object_oriented_approach.htm


Jianfeng Xiao
I like how you found an article that was able to relate back to how object oriented data bases could be used in creating a design. Having tools that are able to calculate data in an efficient and fast way such as the application you discussed will help designers and engineers make their projects more efficient and more functional.

Chris Thach
I agree that databases have come a long way in the construction world. Working on several projects over co-ops, I have seen how important databases can be even to keep track of small things such as employees, work hours, project hours and so on. This not only helps to keep projects organized and efficient but by being able to reference information in a quick and easy to use database allows for companies to be more liable and have proof and back up if something was to occur or if plans deviated from what was intended.

Carlos Hillinger
Your description of the difference between the two was great, I wish I had read it before performing my own research to get a better foundation of the difference. Some definitions out there are very complex and just understanding objects like photos and videos are what is put into object data bases versus code used for relational databases helps to understand why object orientated databases may be easier to manage.

Object Oriented Databases - Hillinger

Carlos Hillinger -AE410 - B5

Object Oriented Databases

     I recently enrolled in a Database class required for my Intelligent Building Concentration, and it has completely changed the way I think and approach a database. I have learned how to develop Energy Diagrams using Chen notation and how to translate them into relational schema using three methods that our professor (Dr. Frein) has created for us. I will start working with SQL next week, which would have been helpful to complete this week's assignment. Without getting too much into detail, I want to share my thoughts on databases before writing about Object Oriented Databases.

     Databases are basically collections of data organized in a structured or hierarchical way, that can be accessed and managed. When developing a database, it is good to think of it as a group of entities, relationships and attributes that can be linked together with a series of constraints that will allow us to access them without having to do much work. It can be used to solve many problems and even the simplest of businesses will use them to maintain an organized client, inventory or cash database. They form part of our daily lives even if we do not notice them, and they will probably be helpful for you more than once in your life.

     My understanding of Object Oriented databases is that they are databases that store data instead of a relational database that stores code. In an object oriented database, you will be able to input an object directly into a database, like an image, a chart, a video, etc. On the other hand, in a relational database, objects are not directly input into the database, but a relationship is created between an existing entity and the new one. While the object oriented database is able to input all of the information within the object, in a relational database, the "information" is given as attributes attached to the "entity" in the form of tables.

     I have studied relational databases and can understand them well. And while I have not studied object related databases in depth, I can see and understand some of the benefits of using them. An object related database will have a simpler schema to represent complex data. While a relational database may be more detailed, it can also be damaged or have some errors that can be avoided by using an object oriented database. OOD also have direct representation of their references and can reduce the processing type of a CPU since there is less data to process.

     All in all, I believe that both database types are very helpful and we should understand them. I believe that it is of great importance, since they can relate to all the fields that we can study. In my case, as an Architectural Engineer, I can see uses or databases all around the construction world; whether it is for construction materials, budgets and plans, or for employees, salaries ad work hours.

Main Source:

https://www.service-architecture.com/articles/database/comparison_of_object_and_relational_concepts.html

Comments:

Luciana:


Luciana, I enjoyed reading through your posts. I also researched on OOD and there are many things that are easy to miss when researching, which I learned by reading your post. For example, I did not realize that Object Oriented databases require much less maintenance, and that their code is easily reusable. I also like the car analogy that you used to explain the difference between a relational database and an object oriented one. Thanks for reading and commenting on my post as well!

Dee Dee:

Dee Dee, I like the way you structured your post, it is very organized. You begin by explaining what a database is, and you continue by giving examples on how databases are useful from three different points of view. I would also like to share with you that databases don't necessarily have to be used to solve complex problems nor enormous chunks of data. They are used in our every day lives to solve the simplest of problems. I can even consider a grocery shopping list a database of some sort. Great post and great examples!

Deutsch:

Deutsch, Great Post! You provided a very good explanations on what relational databases are and how they work. I would recommend you to take a look at Energy Diagrams to better understand relational databases and how entities are assigned attributes and relationships. It can be a bit tedious to work on given the amount of constraints you have to learn, but once you get a hold of it, it becomes much easier than writing in any other coding language. If you are interested in databases, I can recommend you to take INFO 210, which is designed to help students learn a lot about databases. Great post, the best I have read this term so far!


B5 - Object Oriented Database



An object-oriented database (OODBMS) – also referred to as an object database management system (ODMS) – is a type of database management system that stores information in the form of objects rather than data such as integers, strings, or real numbers.

What is an object?
An object used in OODBMSs must have a set of attributes and methods. Attributes are what define the characteristics of the object, and the methods define the object’s behavior and are what is called the procedures and functions used in SQL. This means that the object contains both the code and the data. These objects refer to real-world objects such as bicycles have attributes (current gear, current speed) and behaviors (changing gear, applying brakes). The figures included below illustrate this concept using both a general object as well as the bicycle example.





Object-Oriented vs. Relational
The major difference between OODBMSs and relational databases (RDBMSs) is the way that data is stored and related to each other. OODBMSs store complex data and relationships directly, rather than RDBMSs that map relational rows and columns. RDBMSs use tables that are “normalized” so that data is not repeated, and all tables use a primary key to identify the column. Relationships used to get data from RDBMSs tables can only use one-to-one or one-to-many relationships, many-to-many relationships require a separate join table. In other words, RDBMSs require a lot of time and effort to code. Since objects typically use a many-to-many relationship, this makes OODBMSs useful for large, complex data relationships. OODBMSs work very well in CAS applications (CAD, CASE, CAM), multimedia applications, projects that change over time, and in commerce applications.

OODBMSs have several advantages and disadvantages when compared to RDBMSs. OODBMSs are better than RDBMSs because (1) objects don’t require assembly and disassembly which saves coding time and execution time to assemble or disassemble objects, (2) there are less pages, (3) they are easier to navigate, (4) the hierarchy of objects can be locked, (5) this data model is based on the real model, and (6) less code is required when applications are object oriented. However, the disadvantages associated with OODBMSs are (1) this database is inefficient when the data and relationships are simple, (2) relational tables are simpler, (3) more user tools exist for RDBMS, (4) the standards for RDBMS are more stable, and (5) the support for RDBMS is more certain.

That being said, while OODBMS is a newer database system, I believe that this will eventually replace RDBMS especially when intelligent building technologies are becoming more and more common.

Sources

Comments
Sherry L,
I found your blog post on object oriented databases to be very informative and well written. As someone who has little experience with databases, I like how you explained what an object oriented database was by defining the main components of the database: objects. I did my post on this topic as well, and I also used the same graphic you did. I really like how it did a great job illustrating the concept of what an object is and how it is defined.

Kerry M,
Your post on relational database theory was very interesting! I also took the INFO 210 class, and I think you did a really good job describing what a database is. Knowing that most of our class hasn’t taken that class, your post was very clear and informative for people who don’t know anything about databases. With the emergence of Dynamo, I feel like relational databases would be used more and more in our field.

Thomas S,
I really liked your post on structured query language! I had to use SQL for my INFO 210 class and I think you did a great job explaining what SQL is. I agree with you that SQL allows us to be able to process any building data we may get from sensors and such. In the future, I think learning SQL would be beneficial to AE and CIVE majors to accommodate the growing number of intelligent buildings.

Sunday, February 11, 2018

Object Oriented Databases

First thing first is to find the definition of "object oriented databases" through browsing on the internet. From wikipedia, object databases is defined as a database information system in which its information is represented in the form of "objects" as used in "object oriented programming". It is different from relational databases which is defined as "table-oriented". Well, the definition seems a little overwhelming to me because I don't understand the meaning of some terms that are being used in the definition such as "objects" and "object oriented programming"...

What is an "object"?

The article I found did a great job on explaining the concept of an object. It starts with leading me to think the definition of object in the real-word. Examples are like dogs and bicycles, which both share two similar characteristics: state and behavior. States like breed and color for dogs, current speed and current gear for bicycles. Behaviors like barking and changing gears. Object in computer language apparently shares the similar concept such as it also has two states: state and behavior. The state is stored in fields, meaning the variables in CS languages and the behavior is exposed through methods, meaning functions. 

"Methods operate on an object's internal state and serve as the primary mechanism for object-to-object communication. Hiding internal state and requiring all interaction to be performed through an object's methods is known as data encapsulation - a fundamental principle of object-oriented programming." 


 


With knowing the concept of object, the next question is:

What is an "object oriented programming" (OOP)?

OOP is the most modern server-side scripting languages that is used by back-end developer to write software and database technology. OOP tells web applications or website how to behave and build the platform for a site to interact with its database. To put it in a simpler way, if a website uses object-oriented logic, then it is designed to consider data as "objects". Another term that needs to mention is class. Class is like a template to the object. It does not contain data or methods but it defines the the data and methods in an object and it creates the object. Some benefits of the OOP are reusable, less developing time and more accurate coding, data is safe and secure, and shareable. 

Object Oriented Databases

Also called object database management system (ODBMS). Objects store objects rather than data and objects contains two things - attributes and methods. Attribute are data that defines the characteristics of an object. Methods are the behavior of an object like mentioned above. In traditional databases, date controlled by the application is impermanent and is stored on a permanent storage device. However, in object databases, the application has the ability to control both impermanent and permanent data. Object databases are used when there is complex data/data relationships and it should not be used when there is a big amount of simple transactional data.



References 
https://docs.oracle.com/javase/tutorial/java/concepts/object.html
https://www.upwork.com/hiring/development/object-oriented-programming/
http://www.comptechdoc.org/independent/database/basicdb/dataobject.html


Comments:

Hi Sonny! I did my reading topic on object oriented databases and through the reading, I realized that there was another type of databases which is relational databases - which is also the topic you discussed about in your post. I found your post very helpful and informative dut to the fact that you introduced the concept of relational databases very clearly. One of the advantages of object oriented databases is also data security so it provides certain users access to all the datasets with preventing some users the same time like you mentioned.


Hi Deedee! I enjoy reading your post a lot because I think you did a really good job on making the structure of your post to maximum explain the term clearly. I like how you started the post with the question of asking what database is and personally I would like to know the definition before reading anything else. I also like how you analyze the use of databases in design office in different perspectives. I agree with you that database is very important and helpful towards a lot of things: example like amazon and google, which give people the access to the enormous databases. Not sure what people can do without it.


Hi Marino, I agree with you that there are a lot of benefits of object oriented database as I have also researched the same topic. Some of the benefits that I found are the application has the ability to control both permanent and impermanent data and it is mostly used when there is a complex data relationships. And it is not the best to consider when there is a big amount of simple transactional data. I agree with you that this could be very confusing to the users who do not have a good understanding of the computer languages.










Shuster - B5: Object-Oriented Databases

An object-oriented database (OOD) is one that uses the concept of "objects" rather than tables to organize and display data. These databases utilize a query system that allows users to extract specific data from the set without having to look at the raw information itself, which can be overwhelming. However, the way that each object-oriented database allows its user to query is different from system to system. Some use language to define search parameters, whereas some are visual graphic interfaces. In being defined as an object-oriented database, a system exhibits characteristics that are broken down into three groups: mandatory, optional, and open. Mandatory characteristics are ones that must exist within any OOD. They include, but are not limited to:
  • Type or class of the data
  • Inheritance (whether the information is based on another type of information, such as "student" being a subclass of "person")
  • Extensibility (whether the system takes into account and sets up for future growth)
  • Persistence (whether the data continues to exist after it is finished being inputted)
Optional characteristics, as their name implies, are not mandatory. Instead, they can be added to a database to improve its functions. They may include:
  • Distribution (whether the database is distributed among a number of servers rather than being stored in just one)
  • Multiple inheritance (whether information may be a subtype or subclass of multiple types/classes, such as "cat" being a subclass of both "mammal" and "pet")
  • Type checking (whether the inputted information is in sequence with the data that should be inputted for that type)
Finally, open characteristics are ones that may differ database to database, depending on how the programmer decides to design them. Examples include:
  • Uniformity (whether the database is consistent throughout, sticking to the same definition for each type of information and database detail)
  • Programming paradigm (which programming language is used to create the database)
  • Type system (which specific functions, variables, etc. are used to define database properties)
The main function of OODs, as I see it, is to take a highly complex database and make it appropriate for human consumption. This could mean making it easier to manage for the programmers, but also could mean making it so that the end-user or client can actually make any sense out of it. Because of this, I think that OODs, which have been around in some form since the '80s, are a great way to store and query information. In the context of intelligent building design, OODs can be a great way to store the complex details of the design in a way that is still manageable by the designers. As intelligent buildings become increasingly complex, it becomes more difficult to keep track of all of the components involved, and OODs could be a great way to do that.

Sources:

W. Kim, J. M. Nicholas, and S. Nishio, “The Object-Oriented Database System Manifesto,” in Deductive and Object-Oriented Databases, Kyoto, Japan: Kyoto Research Park, 1989, pp. 223–240.

Sources:

Mark,
I think you really got the basic understanding of relational databases! You definitely seem to understand that while they're basic in concept, they can be used to store and query complex information. I highly recommend trying your hand at some basic database programming in SQL or an equivalent program. I found that it was the best way to really understand how the whole thing worked. It takes some trial and error, but overall it's a pretty straightforward language.

Sarah,
I never realized that SQL is compatible with Excel - I'm interested in learning more about that. I'm glad you brought it up in your blog post! I like that beyond just describing what SQL is, you went on the talk about some of its advantages and disadvantages. Having used SQL, I definitely agree with some of the criticisms of the language. The basics of it are straightforward, but after that there's a very steep learning curve to start understanding all of its complex capabilities.

Chris,
You brought up a lot of points I hadn't considered before. It seems obvious to me now that construction firms would have the same need as design firms to keep track of all their projects and project details. In particular, construction is a field that relies heavily on tight scheduling, so a database could definitely be crucial for keeping on top of that. I'm also glad you gave an example for how a database could be used to help with estimating - that's definitely a huge part of construction.

Tuesday, February 6, 2018

Term Project Outline - Building Automation on Healthcare Facilities

My original term project idea was to write a research paper on researching the different applications of Internet of things for building automation. After being suggested in the class last week of narrowing down the topic, the new idea would be researching the building automation applications on specifications of healthcare facilities. The reason of picking hospitals was that I am doing senior design on the north expansion of a children’s hospital and I think it would be interesting to research the applications of building automation on hospitals.

Since hospitals have environments that are hard to manage, the researching points will be focusing on keeping the hospitals healthy especially in the areas that require room pressurization for disease control. Also things like restrict areas and how to management them easier with no keys needed and alarm notifications. Healthcare facilities are not too updated with the new technologies especially with the design requirement with following the standard design code. The use of automation will be one of the few ways to make the healthcare design innovative; therefore I want to address it in my research paper.

Some directions I will be addressing in the paper will include energy management, HVAC systems, security & emergency response like fire systems, intercom systems, mass notifications, and video surveillance.  I will be listing the areas that are using/need building automation in healthcare facilities and also will be researching some care study examples to show the real life applications of building automation in the healthcare facilities.


Some useful resources I found:




Comments:

Hi Sonny! I really like your idea for your term project idea. I agree with you that although the term of intelligent building has been used so many times but the explanation/definition of intelligent building has never been that clear out there. I am glad that you chose this topic and I can’t wait to know more about it at your presentation!


Hi Bach! I enjoyed reading your ideas and I like how ambitious you and Marino are for researching this challenging topic! I agree with you that nowadays building are going taller and taller and it would be awesome to know some alternatives like the topic you will be researching – underground intelligent buildings. Looking forward to seeing your Revit model!


Hi Dee! I like your idea of comparing the green building and intelligent building. These two types of buildings might be the ones that are mentioned the most of times and I never thought about the similarity and differences of these two types. I agree with you that this topic is a little broad plus I know a lot of people in our class are doing the comparison of intelligent building versus green building. Just out of my pure curiosity: what do you think that your research paper/project will be different than the others who are researching the same topic?