01 - Relational Model & Relational Algebra (CMU Intro to Database Systems / Fall 2022)

preview_player
Показать описание

15-445/645 Intro to Database Systems (Fall 2022)
Carnegie Mellon University
Рекомендации по теме
Комментарии
Автор

This class has become the actual ramp-up tutorials in many database teams to train new hires. Kudos, Andy!

nandeng
Автор

That kid walking out because of the blockchain assertion is insane...

robertcannon
Автор

I was so thrilled when I discovered that all the lectures and projects would be public... Thanks Prof. Pavlo for making such a great course public!

bolinsun
Автор

Thank you so much. I don't have a CS degree, but I have self-learned and now I am a developer who needs to pick up fundamental CS knowledge. You have just saved my life. Thank you.

Автор

Thank you for all the work you and your group does to record, edit, and upload this class every semester.

Yopperpo
Автор

Fun fact: E. F. "Ted" Codd, aka the Coddfather, invented the Relational Model (relations, tuples, domains; primary key, foreign key), but also the first query language for his model (ALPHA), the term "data model" and the term OLAP. He was also highly critical of SQL (calling it Fatally Flawed back in 1985) because it broke a bunch of consistency, which STILL hasn't really been fixed (like allowing duplicate rows, and returning anything thats not a relation (like a single row, a column or a single scalar/cell value).
I've read all the publicly available letters he wrote BTW. Good stuff. Even his criticisms on the Entity-Relation Model from the 1976 (?) by Peter Chen, IIRC.

NostraDavid
Автор

This class is amazing. The course at my Univ is to spend one lecture on SQL and then they throw it away and focus on EER or other database theories. 3 or 4 weeks later, suddenly they come back and start looking at relational algebra. I dont like it. I even got the wrong impression that relation algebra was invented later than SQL ... It's always good to introduce closely related concepts together, like this class does, unless it is absolutely necessary to break them apart. Thank you Andy. Awesome content!

errelin
Автор

im very lucky i found this course.. I have been struggling to find a good course like this on the internet.. thank you very much..! you have no idea how this helps to college dropouts like myself..

gameunit
Автор

thank you for the great class! you are a great teacher! Congrats to everyone involved in producing the course!

sanyamchaudhary
Автор

Thank you so much for making this content available to those of us who can't attend your excellent classes in person! This is awesome material!

abtiwary
Автор

Yes, in the Relational Model there are no duplicates within any single relation, and if you join two relations the result is a new relation which as any other relation does not contain duplicate rows.

That's why there is no popular RDBMS in existence, since Postgres, DB2, Oracle, etc all allow duplicate rows and thus are not truly relational.

NostraDavid
Автор

a DJ?! This is a badass professor. so fxxking cool.

jamesjian
Автор

Actually attending this course for Alex Chi🥰🥰🥰~
Take me away~

michaelxu
Автор

How would you guys recommend studying this? Watch only the lectures or also read the textbook that they recommend and in which order? Thanks!

mailoisback
Автор

What was the deal with the blockchain kook who interrupted and went on a rant and then stormed out at around 25 minutes in? Was that a student, or just some random person?

TeaLeavesProgramming
Автор

Not related CMU student or anything, just learning. Thank you, sir. Thank you so much.

bestinference
Автор

I am not sure but the audio does not seem to be great.

BULLSHXTYT
Автор

You're right, a blockchain is ultimately just a system - it's the distributed ledger mechanism that provides certain properties like immutability, decentralization, and consensus. But in order to actually store and transact data on the blockchain, you need a few additional components:
1. A data model - This defines the structure and relationships of the data you want to store on the blockchain. For Bitcoin, the data model defines transactions, blocks, addresses, etc. For Ethereum, the data model includes accounts, smart contracts, tokens, etc. The data model determines how data elements relate to each other and the rules around transacting with the data.
2. A format for representing the data - Things like JSON, XML, CSV, etc. The format determines how the data elements defined in the data model are encoded into strings that can be stored on the blockchain.
3. APIs and interfaces - These provide a way for users and applications to read and write data to the blockchain. For example, Bitcoin has APIs to create transactions, get wallet balances, etc. Ethereum has APIs for deploying and executing smart contracts.
4. Consensus rules - The consensus algorithm, like proof-of-work or proof-of-stake, maintains agreement between nodes about the state of the data and ensures only valid transactions/data are recorded on the blockchain.
5. Node software - The blockchain client software that implements the data model, formats, APIs, consensus rules, and runs on the nodes that maintain the network. For Bitcoin, this is reference implementations like Bitcoin Core. For Ethereum, it's clients like Geth and Parity.
So you're right that a blockchain alone is just a distributed ledger mechanism. All of these additional components - the data model, formats, interfaces, rules, and node software - build on top of the blockchain and are needed to actually implement a usable ledger system, whether it's for recording transactions, smart contracts, identity data, or anything else. The blockchain provides the foundation, but you need to construct a lot on top of it!

andplay
Автор

I've used and coded for IMS, and it still has utility where it's used - definitely not "crap from that time".

It is highly probable that the system that keeps the professor's checking account uses IMS rather than an RDBMS, and that is due to unmatched reliability of these systems.

egemensentin
Автор

39:00 i think the difference becomes important in replication. Given many-many relationship realised on array column, one would need to violate fk constraint. With itermediate table, one can copy records row by row.

sorontar