01 - Relational Model & Relational Algebra (CMU Intro to Database Systems / Fall 2022)
Вставка
- Опубліковано 14 жов 2024
- Andy Pavlo (www.cs.cmu.edu...)
Slides: 15445.courses....
Notes 15445.courses....
15-445/645 Intro to Database Systems (Fall 2022)
Carnegie Mellon University
15445.courses....
This class has become the actual ramp-up tutorials in many database teams to train new hires. Kudos, Andy!
i am from 2024. companies who hire untrained people are no more
GP didn't say they hire untrained people, just that they train their new hires @@Ajax222able
@@Ajax222able lmfao too true
@@Ajax222able LOL
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!
PXWVR5 this courseID is invalid is what gradescope is saying.
@@srikkulk choose CMU instead of your own school
@@haibararara2754 Thank you a lot♥
Thank you for all the work you and your group does to record, edit, and upload this class every semester.
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.
Everyone is self learned, even if you have a CS degree the knowledge isn't magically injected into your brain
I am now doing my Master's and during my studies I already visited two database lectures. Still I am learning a lot of new concepts here (or known concepts in much greater detail)
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!
That kid walking out because of the blockchain assertion is insane...
I'm surprised you're the only one to comment on that. Talk about entitled douchery.
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..
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.
thank you for the great class! you are a great teacher! Congrats to everyone involved in producing the course!
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!
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!
LLM response lol
How would you guys recommend studying this? Watch only the lectures or also read the textbook that they recommend and in which order? Thanks!
Not related CMU student or anything, just learning. Thank you, sir. Thank you so much.
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.
First! King is back!🎉
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?
I strongly suspect it was DJ Drop Tables.
Whoever he was, he was definitely on something extremely strong 🍀🍀🍀🍀🍀🍀
LMFAO
Thanks professor for making these available publicly. Really appreciate this. Is there any way to reduce the size of class recording so that the slides are not cut off from the video.
It's great to see Andy on the video! You can always download slides from the course site, if there's something important you can't see on the video.
Well, maybe it would be alright to cut the classroom video at the top a bit, as there's not much useful stuff going on there.
I will see if I can tweak the webcam resolution. The slides are here: 15445.courses.cs.cmu.edu/fall2022/slides/01-introduction.pdf
I just downloaded the slides and that works too. Thanks for the suggestion.
a DJ?! This is a badass professor. so fxxking cool.
Actually attending this course for Alex Chi🥰🥰🥰~
Take me away~
带我走吧
Just a heads up, the playlist this video is part of (CMU Intro to Database Systems (15-445/645 - Fall 2021)) should probably say 2022 instead of 2021.
Thank you for the great class! Thank you Andy! Thank you CMU!
The lecture starts at 10:58
I am not sure but the audio does not seem to be great.
The recording software picked up the wrong mic and its noise suppression filter heavily compressed the audio. I will fix in the next class.
@@andypavlo thanks!!
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.
>unmatched reliability
Citation needed. Yeah, it better be reliable after 58-some years existence, but is it really unmatched against DB2 or Oracle?
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.
To those in the comments who might be more knowledgable - is this course still useful for those who do not know C++ - I know some SQL and I'm learning python but C++ looks a little too advanced for me to get into - can these database systems be written in another language or is c++ the most commonly used in industry? I think understanding the algorithms and tables/index types would be useful but I don't know enough about DE to understanding if it would be relevant without the C++ background.
You can spend a few days learning some basic modern C++(note: Modern C++, which has some “smart pointer” things) and then see if you can complete .
The following is my personal opinion, which may be incorrect: this course is about "implementation", you need to dity your hands for better understanding, and, dbs is a system, not some piecemeal algorithms, it's a combination of algorithms, data structures, and some OS concepts(concurrent, storage...). So you may need a basic project to assist you in grasping such a huge system. This course offers us the ”bustub“, it is written in c++, so c++ knowledge is required.
As long as the language you use is Turing Complete (which both cpp and Python are), then you can program anything in either language. The Python version is likely to be slower, but that's fine if you just want to learn.
Can start the lecture from 5:30
teacher is right, blockchain is not a data model, ethereum uses rocksDB
@07:49 for people outside CMU wanting to do the assignments.
I only know some sql basics, will I be able to go through this course or will be a bit hard to understand ?
Do i need to be familiar with c++ ?
whats the prerequisites for this course ?
46:00 It's confusing how in SQL, SELECT do selection for attributes,
While SELECT definition in in Relational Algebra is to do selection for tuples instead.
SQL is confusing, period.
Great! Think you for the great class!
isn't sql would do a linear scan when searching for a tuple ?
can't believe CMU has to deal with hallucinating crypto fanatics. I guess bad ideas can take hold of otherwise intelligent people, but it's hard to understand how
because they think they can have millions in their 20s
🙏thank you! Just thank you
thanks Andy, that is a great jop
New intro is 🔥
thank you for sharing class!
hi, are there any practice excercises?
15445.courses.cs.cmu.edu/fall2022/assignments.html
15445.courses.cs.cmu.edu/fall2022/faq.html#q7
Thank you so much!!
pretty good, thanks~
Is this really the normal speed? LOL
THIS IS GREAT
I’m a startup and I want to use IMS 😎
what is name of the song at the end ?
They show the intro every video 😊.
bro whats that intro music ,i need it
I like how some guy just iniststed that blockchain should be a data model :)
@9:45 you don't wanna go to Warner Hall!
DB is the coolest!
If you can't pick him, change the Playback speed to 0.75.
Thank me later 😉
Now can follow, but then I feel like I am with 25% less mental capable than the average class 😅
Oh gods, SQL's natural join compares the NAMES of the columns? That's awful and another point of evidence why SQL Relational Model. It's why Codd hammered on the idea of using shared Domains to join on, not shared column names. SQL, what a joke! 😂
omg it's in the same room this semester too
thanks
جاي من عند محمد سامح
The blockchain guy is hilarious. I certify him as blockchain evangelist.
24:50 LMAO
what‘s wrong with the blockchain, why those student like mentioning it for several times?
Thanks😆
Blockchain is literally the future though... Later in the lecture 27:30 .. hearing that did he influence Gensler in some way?
it really isn't
@@AngeloComedy It kind of is because some of us don't like the US but like the international financial system that the USD provides.
@@kokoinmars read karl marx
33:35
man, what an intro😂
the intro though....
black rook goes e8
yo!
there is that one know it all in every class who asks questions related to upcoming classes just to seem smart. extremely annoying
Get stoned
BCMSs (blockchain management systems) is the next generation of DBMSs that will fix all the problems of our era.
okay, where can I learn more about that?
It's Web Scale! ua-cam.com/video/b2F-DItXtZs/v-deo.html
This is a course misses nothing, but should be missing the mask.
Yeap. I cannot hear him and masks give bad impression.
What's the bad impression? 😂
@@raphaeldwain7834oh no, he didn't want his students to be possibly infected! 😂
100 Respect BlockChain guy :)
apes together strong
45:58
28:36