00:0.04 Let's start exploring this database in PyCharm.
00:3.64 You know, if you look over to the right there might have been this temptation
00:7.6 to open this database tab and yeah,
00:10.34 here we go, it's time to dive into this section.
00:12.84 So we need to start by adding a data source and says you can do that
00:16.02 by hitting 'cmd+n' or you can just click on this and there's a bunch of
00:21.03 different options. We can download some stuff from URL's
00:24.22 And whatnot. But we can open this up and it'll show us basically
00:27.8 the list of databases that are supported and there are many we've got Amazon,
00:31.18 RedShift, Cassandra, Hive, BigQuery, CockroachDB,
00:37.34 some Exasol thing, Greenplum,
00:39.52 which I've actually never even heard of IBM DB2.
00:43.19 Scroll and some here we got Maria DB Microsoft,
00:46.86 SQL server, Mongo DB which is really cool to have that no SQL database in
00:50.32 there. Got My SQL, Oracle, PostgresSQL, SQLite.
00:53.84 This is the one that we're using Snowflake and some others.
00:56.74 Right? So you can see that there's actually even basic support for a whole bunch
01:1.03 of other types of databases here.
01:3.54 So again, pick the one that you want.
01:5.09 The tools are pretty similar. We're gonna pick this.
01:9.34 Now notice I'm glad this came up like this here,
01:12.41 notice that there's this download machine drivers because there's so many different databases supported PyCcharm
01:19.31 doesn't want to ship like every conceivable database driver if you're very unlikely to use it
01:23.74 they don't download all of them when you first install it.
01:27.14 So in order for some of the nice drag drop and other automatic things to happen
01:31.55 you need to make sure you do this once on your machine.
01:35.23 So I'm gonna collect download missing driver and everything is good.
01:40.29 I could come over here and give it a name and then morales over to this
01:43.85 file right there. But let's not go that path.
01:47.56 I just open that up one to show you the list of databases and two to
01:50.29 make sure the driver is installed.
01:51.52 I should be able to just drag this and drop it there,
01:54.38 wait for a moment and check it out.
01:56.69 We got a little one that means it found something that understood in here and then
02:0.17 it highlights our schema as well as some other server side sort of admin objects that
02:5.65 we don't care about. So we opened up and we got our tables,
02:8.61 check this out. Here's our packages,
02:10.56 here's the releases, maintainers, users downloads and so on and if we expand one
02:16.75 of these out, we've got our columns and these are they should map exactly over
02:22.03 to the columns that we had in SQLAlchemy over here.
02:26.4 We've got an idea that's a primary key and there you have it.
02:29.42 We've got the key symbol that's yellow,
02:31.59 that means primary key and we've got the vertical blue bar,
02:35.93 which means there's an index. The vertical blue bar with a dot means there's a
02:39.57 uniqueness constraint on that index and basically that's what a primary key as it has an
02:44.56 index. So you can query by it and it has to be unique because you
02:47.08 can't have two things with the same primary key.
02:49.44 We also have created date and last updated which have indexes but not uniqueness.
02:54.24 See down here we've got homepage we've got the author and so on.
03:0.07 Here's the one and only key that's the primary key on id.
03:3.14  And then these are all of the index is that we have here.
03:7.12 You can see some of them are just indexes and this one is unique.
03:11.04 So that's pretty cool. We got that and if we look at the other one
03:14.33 over here that we've been talking about the releases.
03:18.04 Again we have some similar things.
03:19.84 We've got an id
03:20.78 We've got our various things that we have an index on because we might query by
03:25.63 them. And then down here we have a foreign key relationships.
03:29.36 Notice this has a blue key.
03:31.84 So super cool. We can open up the key that's an ID.
03:34.42  And then there's the foreign key and the indexes as well.
03:38.74 So we'll be able to use this database exploration tool over here as our jumping off
03:44.12 point to dig into table schemas to indexes to queries and all sorts of stuff like
03:49.84 that looks like our PyCharm and our machine is set up and ready to work with SQLite.
