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....

КОМЕНТАРІ • 111

  • @nandeng266
    @nandeng266 Рік тому +76

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

    • @Ajax222able
      @Ajax222able 9 місяців тому +14

      i am from 2024. companies who hire untrained people are no more

    • @parrampampam
      @parrampampam 9 місяців тому

      GP didn't say they hire untrained people, just that they train their new hires @@Ajax222able

    • @Onedeag-qw3yc
      @Onedeag-qw3yc 6 місяців тому +2

      @@Ajax222able lmfao too true

    • @abdulrahmanXSO25
      @abdulrahmanXSO25 5 місяців тому +2

      @@Ajax222able LOL

  • @bolinsun9565
    @bolinsun9565 2 роки тому +50

    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!

    • @srikkulk
      @srikkulk 2 роки тому

      PXWVR5 this courseID is invalid is what gradescope is saying.

    • @haibararara2754
      @haibararara2754 2 роки тому +4

      @@srikkulk choose CMU instead of your own school

    • @mostafamohammed5684
      @mostafamohammed5684 Рік тому

      @@haibararara2754 Thank you a lot♥

  • @Yopperpo
    @Yopperpo 2 роки тому +49

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

  • @3042640426
    @3042640426 Рік тому +17

    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.

    • @alang.2054
      @alang.2054 10 місяців тому +4

      Everyone is self learned, even if you have a CS degree the knowledge isn't magically injected into your brain

    • @millouwmills367
      @millouwmills367 Місяць тому

      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)

  • @errelin1326
    @errelin1326 11 місяців тому +2

    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!

  • @robertcannon3190
    @robertcannon3190 Рік тому +74

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

    • @johnw.8782
      @johnw.8782 Рік тому

      I'm surprised you're the only one to comment on that. Talk about entitled douchery.

  • @gameunit3935
    @gameunit3935 Рік тому +5

    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..

  • @NostraDavid2
    @NostraDavid2 3 місяці тому +2

    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.

  • @sanyamchaudhary
    @sanyamchaudhary 2 роки тому +14

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

  • @abtiwary
    @abtiwary 11 місяців тому +1

    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!

  • @and1play5
    @and1play5 Рік тому +5

    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!

    • @coffle1
      @coffle1 Місяць тому +1

      LLM response lol

  • @mailoisback
    @mailoisback 6 місяців тому +2

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

  • @bestinference
    @bestinference Рік тому

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

  • @NostraDavid2
    @NostraDavid2 3 місяці тому

    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.

  • @Max-my6rk
    @Max-my6rk 2 роки тому +29

    First! King is back!🎉

  • @TeaLeavesProgramming
    @TeaLeavesProgramming 2 роки тому +27

    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?

    • @Paul-fn2wb
      @Paul-fn2wb 2 роки тому +13

      I strongly suspect it was DJ Drop Tables.

    • @itallstartedwhen
      @itallstartedwhen 2 роки тому +14

      Whoever he was, he was definitely on something extremely strong 🍀🍀🍀🍀🍀🍀

    • @jeanshawn
      @jeanshawn Рік тому

      LMFAO

  • @ShadKhan
    @ShadKhan 2 роки тому +6

    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.

    • @Paul-fn2wb
      @Paul-fn2wb 2 роки тому +5

      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.

    • @andypavlo
      @andypavlo 2 роки тому +6

      I will see if I can tweak the webcam resolution. The slides are here: 15445.courses.cs.cmu.edu/fall2022/slides/01-introduction.pdf

    • @ShadKhan
      @ShadKhan 2 роки тому +2

      I just downloaded the slides and that works too. Thanks for the suggestion.

  • @jamesjian8868
    @jamesjian8868 Рік тому +3

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

  • @michaelxu1168
    @michaelxu1168 2 роки тому +8

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

  • @ben2258
    @ben2258 2 роки тому +1

    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.

  • @georgeyu2233
    @georgeyu2233 2 роки тому +1

    Thank you for the great class! Thank you Andy! Thank you CMU!

  • @TheRavidj
    @TheRavidj Рік тому +3

    The lecture starts at 10:58

  • @BULLSHXTYT
    @BULLSHXTYT 2 роки тому +17

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

    • @andypavlo
      @andypavlo 2 роки тому +29

      The recording software picked up the wrong mic and its noise suppression filter heavily compressed the audio. I will fix in the next class.

    • @howardzhang6655
      @howardzhang6655 2 роки тому +3

      @@andypavlo thanks!!

  • @egemensentin
    @egemensentin 6 місяців тому

    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.

    • @NostraDavid2
      @NostraDavid2 3 місяці тому

      >unmatched reliability
      Citation needed. Yeah, it better be reliable after 58-some years existence, but is it really unmatched against DB2 or Oracle?

  • @sorontar1
    @sorontar1 Рік тому +1

    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.

  • @CM_CM_
    @CM_CM_ 2 роки тому +5

    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.

    • @verdantblast
      @verdantblast 2 роки тому +8

      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.

    • @NostraDavid2
      @NostraDavid2 3 місяці тому +1

      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.

  • @shuyanli4279
    @shuyanli4279 Рік тому +3

    Can start the lecture from 5:30

  • @and1play5
    @and1play5 Рік тому +1

    teacher is right, blockchain is not a data model, ethereum uses rocksDB

  • @ahmadkelany
    @ahmadkelany Рік тому +4

    @07:49 for people outside CMU wanting to do the assignments.

  • @youssifsoliman2174
    @youssifsoliman2174 8 місяців тому

    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++ ?

  • @mohamedadel-tw8sf
    @mohamedadel-tw8sf Рік тому +2

    whats the prerequisites for this course ?

  • @Ahmad_Al-Deeb
    @Ahmad_Al-Deeb 9 місяців тому +1

    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.

    • @NostraDavid2
      @NostraDavid2 3 місяці тому +1

      SQL is confusing, period.

  • @parkma4017
    @parkma4017 2 роки тому +2

    Great! Think you for the great class!

  • @badrphone2393
    @badrphone2393 4 місяці тому

    isn't sql would do a linear scan when searching for a tuple ?

  • @gackerman99
    @gackerman99 Рік тому +3

    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

    • @nickfrase2406
      @nickfrase2406 Рік тому +2

      because they think they can have millions in their 20s

  • @picanteverde
    @picanteverde Рік тому

    🙏thank you! Just thank you

  • @mohsenabdelbaset
    @mohsenabdelbaset Рік тому

    thanks Andy, that is a great jop

  • @bagaichi5750
    @bagaichi5750 2 роки тому

    New intro is 🔥

  • @chantata
    @chantata Рік тому

    thank you for sharing class!

  • @andreygrigorev8366
    @andreygrigorev8366 Рік тому

    hi, are there any practice excercises?

    • @andypavlo
      @andypavlo Рік тому

      15445.courses.cs.cmu.edu/fall2022/assignments.html
      15445.courses.cs.cmu.edu/fall2022/faq.html#q7

  • @nanunsaram
    @nanunsaram Рік тому

    Thank you so much!!

  • @allencheri9286
    @allencheri9286 2 роки тому +1

    pretty good, thanks~

  • @crc3172
    @crc3172 7 місяців тому +3

    Is this really the normal speed? LOL

  • @exoneuromancer1672
    @exoneuromancer1672 Рік тому

    THIS IS GREAT

  • @kosmonautofficial296
    @kosmonautofficial296 6 місяців тому

    I’m a startup and I want to use IMS 😎

  • @yrysf777
    @yrysf777 9 місяців тому

    what is name of the song at the end ?

  • @astromilitary-doctrine
    @astromilitary-doctrine 2 роки тому

    They show the intro every video 😊.

  • @danishmehmood6110
    @danishmehmood6110 2 роки тому

    bro whats that intro music ,i need it

  • @yw419
    @yw419 Рік тому +1

    I like how some guy just iniststed that blockchain should be a data model :)

  • @MarkHarrison-rp2tq
    @MarkHarrison-rp2tq 11 місяців тому

    @9:45 you don't wanna go to Warner Hall!

  • @xinyuzhang121
    @xinyuzhang121 Рік тому

    DB is the coolest!

  • @HSN.LTD0824
    @HSN.LTD0824 Рік тому +1

    If you can't pick him, change the Playback speed to 0.75.
    Thank me later 😉

    • @rachidfakhfakh1361
      @rachidfakhfakh1361 Рік тому +1

      Now can follow, but then I feel like I am with 25% less mental capable than the average class 😅

  • @NostraDavid2
    @NostraDavid2 3 місяці тому

    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! 😂

  • @sherrywang4233
    @sherrywang4233 Рік тому

    omg it's in the same room this semester too

  • @Mohamed-Ali747
    @Mohamed-Ali747 5 місяців тому

    thanks

  • @ahmedshalaby1632
    @ahmedshalaby1632 Місяць тому

    جاي من عند محمد سامح

  • @daileo3215
    @daileo3215 Місяць тому

    The blockchain guy is hilarious. I certify him as blockchain evangelist.

  • @PKAnon
    @PKAnon 2 роки тому +17

    24:50 LMAO

  • @rogerskelamen447
    @rogerskelamen447 Рік тому

    what‘s wrong with the blockchain, why those student like mentioning it for several times?

  • @shengdao666
    @shengdao666 2 роки тому

    Thanks😆

  • @kokoinmars
    @kokoinmars 7 місяців тому

    Blockchain is literally the future though... Later in the lecture 27:30 .. hearing that did he influence Gensler in some way?

    • @AngeloComedy
      @AngeloComedy 4 місяці тому +3

      it really isn't

    • @kokoinmars
      @kokoinmars 4 місяці тому

      @@AngeloComedy It kind of is because some of us don't like the US but like the international financial system that the USD provides.

    • @AngeloComedy
      @AngeloComedy 3 місяці тому +1

      @@kokoinmars read karl marx

  • @천현우-t6i
    @천현우-t6i Рік тому

    33:35

  • @stan-15
    @stan-15 Рік тому

    man, what an intro😂

  • @tarunthakur713
    @tarunthakur713 2 роки тому

    the intro though....

  • @mudassartehseen8017
    @mudassartehseen8017 6 місяців тому

    black rook goes e8

  • @yicain756
    @yicain756 2 роки тому +2

    yo!

  • @YuruCampSupermacy
    @YuruCampSupermacy 21 день тому

    there is that one know it all in every class who asks questions related to upcoming classes just to seem smart. extremely annoying

  • @saharlogmari1622
    @saharlogmari1622 2 роки тому +2

    Get stoned

  • @Paul-fn2wb
    @Paul-fn2wb 2 роки тому +4

    BCMSs (blockchain management systems) is the next generation of DBMSs that will fix all the problems of our era.

    • @hdrkn5247
      @hdrkn5247 2 роки тому

      okay, where can I learn more about that?

    • @yutoobe123
      @yutoobe123 Рік тому

      It's Web Scale! ua-cam.com/video/b2F-DItXtZs/v-deo.html

  • @Algoritmik
    @Algoritmik 2 роки тому +6

    This is a course misses nothing, but should be missing the mask.

    • @meryplays8952
      @meryplays8952 2 роки тому +5

      Yeap. I cannot hear him and masks give bad impression.

    • @raphaeldwain7834
      @raphaeldwain7834 Рік тому

      What's the bad impression? 😂

    • @NostraDavid2
      @NostraDavid2 3 місяці тому +1

      ​@@raphaeldwain7834oh no, he didn't want his students to be possibly infected! 😂

  • @juan-tj1xf
    @juan-tj1xf 2 роки тому +2

    100 Respect BlockChain guy :)

  • @Heuristicpohangtomars
    @Heuristicpohangtomars 11 місяців тому

    45:58

  • @Heuristicpohangtomars
    @Heuristicpohangtomars 11 місяців тому

    28:36