Showing posts with label week 6. Show all posts
Showing posts with label week 6. Show all posts

Saturday, March 9, 2019

Blog Post 6: Course Reflection

I did not have much of an idea of what the class would be like, but I am happy with what I got out of it. I enjoyed the fact that there was a wide variety of topics, especially ones that I did not know much about. I knew about Revit and Building Information Modeling, but I had not taken classes that discussed sensors, robots, or AI much at all. It was very useful to broaden my understanding of what goes into intelligent building and where future technology is headed.

I have a lot of experience with AutoCAD, but barely any experience with Revit. The Revit assignment was very helpful in getting me familiar with the program and the step-by-step instructions, as well as the video walkthrough, was very helpful. I would have liked a second part to this assignment that walked us through using Dynamo as well. The sensor database assignment was useful as well, both in creating a database in Access from scratch and from trying to find data on different sensors.

The lectures and videos on 3D printing, robotics, and AI were all very interesting to me. I had already seen some of the technology that was shown because of my personal interest, however, I had not been keeping up with the new developments. Being able to automatically 3D print buildings and other structures will cause drastic changes in our current infrastructure.

I enjoyed the guest lectures, especially Kayleigh’s because I had never heard of visual programming before. I had been thinking about looking for jobs in BIM so it definitely got me curious when she said, “BIM is dead.” However, this sent me down a path from Building Information Modeling to Visual Design and Construction to visual programming and generative design. Generative design was the topic of my project paper and I learned a lot about it.

Overall, this class was very helpful, and I will use what I’ve learned throughout my career. The discussions and blog posts taught me to research new technology and think/talk about what changes will occur. It is important to learn about future technology and stay ahead of it or else you will be left behind. 


Comments:
To Sean Reifer
I am jealous that you did your project on Dynamo. It was something that I wished the Revit assignment went into. I can learn it on my own, but as you mentioned, it is more challenging to work through it on your own. A video walkthrough detailing exactly what you are trying to accomplish is very helpful in learning quickly.

To Nick Maloney
I agree that we learned about a lot of different topics, but did not have enough time to go in depth with each of them. It was definitely useful to get some information from the various topics, but there are some topics that I wish we went into in more depth. I believe the idea of the project was to allow us to pick what topic we wanted to learn more about during the course and do our own research which worked well.

Yicheng Li
I also learnd a lot of new things about 3D printing, sensors, and databases. I agree that the blogs helped us learn about something new and write about them almost every week as well as read other people's findings. My project focused on generative design which could become a problem when it comes to reducing or eliminating certain jobs. However, I believe some jobs will remain and their tasks will be altered and some new jobs will be created due to the changes within each industry.

Tuesday, February 12, 2019

B5-Object oriented database


Object oriented database is a database management system with data represented in the form of objects. This kind of database system is able to restore the data including classes of objects and is able to inherit properties of classes. It must have inheritance, polymorphism and encapsulation characteristics in order to store and retrieve complex data types. This type of database system is used as a complement of relational database, which dominant in the data center for server-side persistence.
Object-oriented database can handle more complex data types than relational database does. Relational database can only store simple database such as name, date of birth. However, Object oriented database is able to store complex data types, such as graphics, videos, CAD and even geographical satellite information. This makes the successful of object-oriented database much more costly than relational database. On the other hand, it increases the difficulties to transfer the database from relational database to object-oriented database. That is the reason why object-oriented database can only become a complement of relational database.
While retrieving data from the system, it is easier for object-oriented database. The object-oriented database stores the classes of objects and properties of classes. There is a great analogy about how object-oriented database stores complex database. It is simulated as parking a car in a garage. The garage is the database with OODB you can drive the entire car into the garage and leave it to be picked up next time when you want to go for a riding. In a relational database, you will need to dissemble the parts and put the parts in different shelves. When you want to pick up your car, you will have to reassemble the car with the exact parts. Therefore, it will be more difficult to retrieve a data without touching the rest of data in the database storage.


Cite: http://www.odbms.org/introduction-to-odbms/odbms-for-rdbms-users/

Comments:
Jenny,
I totally agree with you that object oriented database will help with BIM software since it stores complex data types. I really like your example showing how convenience it is as OODB in opening file and retrieving data.
Matt,
It is true that it used to be very costly to make the change from RDBMS to OODBMS since the difference of data types they store. But i believe it will be more and more popular with low-cost solutions in the future.
Lin,
I can't agree more that OODB can easily and quickly finish the task of data exchanging and determination of computing. It is also the challenge for OODB to accomplish this tasks with a lower-cost and a higher popularity.

Blog 5 - SQL

This assignment required students to read about databases with a particular topic in mind. Each group had a separate topic to explore. I will be reading and discussing about Structured Query Languages (SQL) using information found online.

First, a SQL is a means of communicating with a database and has been adopted by the American National Standards Institute (ANSI) as the standards. Various commands of SQL are present in the different database systems but the simple ones are capable of doing almost everything a user needs ("Sqlcourse - Intro" 2019).

Relational database management systems present data in tabular format. Searching, creating, populating, updating, and deleting are basic functions in SQL that most people will do with a table whether or not it is through using SQL.

Why is using SQL important? Well, most things can be represented as points of data and a large compilation of data into big data can be daunting to use and maintain. However,

SQL is able to perform functions across the entire database meaning that as long as the user has some idea of what they are looking for, they can use a combination of functions to narrow down the data until they find what they want ("Sqlcourse - Intro" 2019). This is why it is important to design a database properly. Proper management of a database using SQL prevents any hiccups in the future and provides better user experience.

After reading Nick Maloney’s post, I interpreted his idea of BIM using “massive amount of data in order to perform their intended functions” as manipulating the elements and their properties in the model and having Revit show the user what the model looks like on the front-end of the software.

It is even more important to companies who provide a service such as insurance or social media. These types of companies can have records of millions of people and they can have actuaries who can determine how much people should pay for insurance or marketers to personalize advertisements on social media.

While SQL may not be a necessary skill to have in the near future, being able to maneuver through data in a table has been a useful skill since the creation of spreadsheets.


Sources:
Maloney, Nick. 2019. "B5 - What Is SQL And Why Is It Important?". Ae-410-510-Ay18-19.Blogspot.Com. https://ae-410-510-ay18-19.blogspot.com/2019/02/b5-what-is-sql-and-why-is-it-important.html.

"Sqlcourse - Intro". 2019. Sqlcourse.Com. http://www.sqlcourse.com/intro.html.


Comments on colleagues’ posts:
Blas Andres Rodriguez Vieira
With the advent of big data being used in most companies, it is becoming more important to be able to manipulate data. When we were freshmen/sophomores, we were taught how to use MatLab and Excel but I feel like it will no longer enough in the coming years. Thankfully, the freshmen now are learning programing languages that I feel like it is incredibly useful when learning SQL.

Nana Lin Rasmussen
I think that the tabular method is very easy for beginners whereas more networks of data can be trickier to learn about. I didn’t feel like I was able to handle the database assignment in this class but I feel more confident now that I know how simple it can be.

Yicheng Li
It looks like you have experience with MySQL. What do you think of the usefulness of SQL in the job market today? I don’t have any experience with big data so if you think this is useful then I might be inclined to pick up some SQL.

Blog Post 5: Object-Oriented Databases

Object-oriented databases differ from relational databases in which information is shown in the form of objects. The benefit of using object-oriented database management systems (OODBMS) is that they allow you to create an object, store it, and then replicate or modify existing objects to make new ones. The object is represented the same way between the programming language and the OOBMS so that there is consistency. This is different from relational database management systems (RDBMS) where the database model is separated from the application of the database. 
  
OODBMS store data and relationships between data directly, instead of sorting through rows and columns like a RDBMS. RDBMS require intermediate tables to maintain relationships between data. Both intermediate tables and relational mapping code are not required while using OODBMS unless you are incorporating new features. This obviously saves a lot of time while developing the database. 
  
RDBMS are far more popular and more widely used compared to OODBMS which have been implemented into RDBMS via object-oriented features. It also used to be very costly to make the change from RDBMS to OODBMS even if companies saw the benefits. However, open source implementation has become popular in recent years and has now allowed for low-cost solutions to become available and more common.

Sources
1. https://database.guide/what-is-an-oodbms/ 
2. http://www.odbms.org/introduction-to-odbms/definition/ 

Comments
1. Aaron Goldberg
This is a very interesting theory that I am not familiar with. Do you know when HP integrated this theory into their products or when they expect to complete it? If the performance increases are as dramatic as they say, I look forward to the new ways that the much more powerful computers will be utilized.

2. Alkiviadis Tsitsios
I like that those of us who strictly researched databases are able to understand the benefits that they have in the construction industry. I am not familiar with the Database Manager Program and it sounds like a useful software that construction firms can integrate into their projects. It is impressive to hear that you are able to use as many attributes as you need within your database.

3. Nana Lin Rasmussen
This is a good summary of SQL and databases. I like that you list off common RDBMS that utilize SQL because it shows how common the language is. The advantages of SQL are interesting, specifically, that coding is not required in SQL. 

Week 6 - Relational Database Theory

The relational model was developed by E.F. Codd around 1968 as a mathematical principle to visualize large data, make it more scalable, enhance its performance, and make it portable. In simple terms, a relational database uses relations between values and symbols to organize data. The theory behind a relational database consists of rules and terminology that dictate how the relational database is represented and interpreted. 

One representation of a relation can be shown as a table independent of the order in which its given (i.e. rows and columns). However not every table displays a relation therefore the terminology used to describe the anatomy of a relation is different than that of a table (i.e. the word table is substituted for relation, tuple for row, and attribute for column). A set of attributes is also referred to as the head, and the degree refers to the number of attributes. A set of tuples is also referred to as the body, and the cardinality refers to the number of tuples. Attributes correspond to names and types, while tuples correspond to the values that are defined by the attributes. 

The relational database theory is different from structured query language (SQL) which is another communicative method for databases that stems from the relational database theory. For example, SQL automatically orders the data whereas for a relational database the order of the data is arbitrary, and SQL allows the data inputted into rows to be duplicated unlike relational databases which cannot have duplicate tuples.

Why do we use the relational database theory? One reason is that it will save time from having to arbitrarily guess which database design to use. The objective of a good database is to reduce the redundancy of data to save storage space and avoid inconsistencies, and to ensure that the data is secure, accurately represented, and maintains its integrity. The emergence of inconsistencies due to abstraction or “accurate data extraction” is avoidable by using the relational database theory, and many of these inconsistencies include deletion errors, incorrect or multiples of results, and comparison of unrelated variables. Relational databases can be customized for particular applications; in smart buildings these applications include energy efficiency measures and building automation systems. These databases are well known and accepted as an industry standard as opposed to NoSQL which tends to pose fewer benefits in most situations.

References:
[1] http://archive.oreilly.com/oreillyschool/courses/phpsql2/phpsql203.html
[2] https://dvikan.no/ntnu-studentserver/kompendier/an-introduction-to-relational-database-theory.pdf
[4] https://www.ntu.edu.sg/home/ehchua/programming/sql/relational_database_design.html

Comments:

Richard Kimball – You mentioned normalization of databases which is not a concept that I came across in my research and will be sure to review. It is important that as the amount of data increases with the emergence of new technologies, that databases are able to be enlarged to accommodate growing needs. With the increase in size of databases it will likely become more difficult to track the accidental changes or potential losses in data. I think security of this information especially when being transferred will bring about new ideas to this field.

YIDI LI – The Database Manager Program sounds like it would be beneficial not only in construction firms presently but for future construction practices under the assumption that artificial intelligence technologies would be programed to assist in construction design. While this could be far beyond the realm of possibility, I think these databases could interact with technologies, even dictate or send data, which would allow for projects to be monitored by machines instead of humans. 


Nick Maloney – I discussed relational databases and the use of SQL lead me to inquire about why SQL and other databases employ different languages. From a proprietary business standpoint it makes sense however I think that the transition between using one database or another could be made easier if the languages were similar. Perhaps the two databases could even work together and do so very efficiently if they were the same language.

B5 - Relational Database Theory

A database is an organized set of data generally accessed across a computer system. Interaction between a database and the end user is generally done through the database management system which helps bridge the gap between the data and the user by interacting with and analyzing the data. When databases become more complex, computer scientists tend to rely on formal design and modeling techniques to understand and create databases. In general there are two primary types of databases: relational database systems which became popular in the 1980s and rely on rows, columns, and tables as well as a specific language known as Structured Query Language (SQL). More recently, non-relational databases gained popularity, typically referred to as NoSQL, however, I am going to briefly focus on relational databases for the purposes of this post.

Relational database theory was initially proposed by EF Codd in 1970. The model sorts data into tables (also called “relations”) of rows and columns. Rows, referred to as “tuples” represent instances of that type and columns represent values attributing to that instance. A relation is defined as a set of tuples that share the same attributes. Each row in a table has a unique key. Rows can be linked to other rows in other tables through the addition of a column for the key of the linked row. While the relational database theory continues and can get much more complex, I am just covering the very basics of relational database theory.

Relational database theory is used today, and is being implemented in some instances to improve efficiency. Amazon Aurora, for example is a relational database built for the cloud that “combines the performance and availability of high-end commercial databases with the simplicity and cost-effectiveness of open source databases” [1]. According to Amazon, Aurora is up to five times faster than standard databases and provides security and reliability without sacrificing costs by automating repetitive, time-consuming administration tasks such as “hardware provisioning, database setup, patching, and backups” [1].

While my knowledge of databases is still minimal (due to the fact that we have yet to cover them in class) I do look forward to learning about what a database is, the fundamentals of relational databases, and how they apply specifically to the AEC industry.


Sources:

[1] Amazon Aurora – Relational Database Built for the Cloud - AWS. (2019). Amazon Web Services, Inc.. Retrieved 12 February 2019, from https://aws.amazon.com/rds/aurora/
[2] Relational Databases 101: Looking at the Whole Picture. (2019). Agiledata.org. Retrieved 12 February 2019, from http://www.agiledata.org/essays/relationalDatabases.html
[3] Relational Database Theory. (2019). Archive.oreilly.com. Retrieved 12 February 2019, from http://archive.oreilly.com/oreillyschool/cours



Comments:
Alec: I really like your article. After doing research on databases, it was difficult for me to immediately envision ways that the AEC industry could directly utilize databases. I’m curious what percentage of firms use formal databases currently and how many use the idea of databases but in an informal, less efficient manner.

Ren: I enjoyed reading your take on this topic. You seemed to take a more technical approach explaining and defining the key terminologies. This was something I struggled to do as I still have not mastered databases conceptually. I think your explanation, specifically regarding the need for keys, was very thorough.

Yidi: Your article explains how databases can be utilized in the AEC industry. Similar to Alec’s article, you identify the array of data that a construction firm may need to keep track of at once, which, I agree, is certainly a place wherein databases can be utilized. My question is that for larger firms, it seems that databases are the only solution to managing this amount of data, so what are firms who aren’t using databases utilizing to keep track of their numbers? I’m curious what the alternatives are to databases. Great article though.