Skip to content

Commit 5e254f6

Browse files
added new content for each lesson
1 parent 62aa414 commit 5e254f6

File tree

200 files changed

+18169
-207
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

200 files changed

+18169
-207
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
:page-ad-title: Learn how to import relational data into Neo4j with GraphAcademy
2+
:page-ad-description: This 3-hours course explores the options for importing data into Neo4j.
3+
:page-ad-link: https://graphacademy.neo4j.com/courses/importing-fundamentals/?ref=docs-ad-importing-fundamentals
4+
:page-ad-underline-role: button
5+
:page-ad-underline: Enroll for free
77.8 KB
Loading
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
= Importing Relational Data into Neo4j
2+
:categories: beginners:4, start:4, data-analysis:4, reporting:4, software-development:4, foundation:4
3+
:status: active
4+
:next: importing-cypher
5+
:duration: 3 hours
6+
:caption: Learn how to import relational SQL data into Neo4j
7+
:usecase: blank-sandbox
8+
:key-points: Migrating from relational to graph databases, Transforming SQL data models, Using Neo4j Data Importer, Working with PostgreSQL and Northwind
9+
10+
11+
== Course Description
12+
13+
Welcome to Importing Relational Data into Neo4j!
14+
15+
In this course, you will learn how to migrate data from relational databases into Neo4j. You will work with the classic Northwind PostgreSQL database and transform it into a graph data model optimized for traversal queries.
16+
17+
You will learn to:
18+
19+
* Understand the fundamental differences between relational and graph data models.
20+
* Analyze relational database schemas to identify entities, relationships, and properties.
21+
* Use PostgreSQL and Postico or pgAdmin to explore and query relational data.
22+
* Transform relational tables into graph nodes and relationships.
23+
* Use the Neo4j Data Importer to import relational data into a Neo4j Aura instance.
24+
* Set unique IDs, constraints, and indexes to ensure data quality and query performance.
25+
26+
You will work hands-on with the Northwind database, a sample relational database representing a fictional company's sales data, and migrate it into a graph structure that you can query using Cypher.
27+
28+
29+
=== Prerequisites
30+
31+
Before taking this course, you should have an understanding of:
32+
33+
* Graph and Neo4j fundamental concepts
34+
* Basic Cypher queries
35+
* Relational database concepts and SQL
36+
* Graph data modeling principles
37+
38+
Completing the following courses in GraphAcademy is recommended:
39+
40+
* link:https://graphacademy.neo4j.com/courses/neo4j-fundamentals/[Neo4j Fundamentals^]
41+
* link:https://graphacademy.neo4j.com/courses/cypher-fundamentals/[Cypher Fundamentals^]
42+
* link:https://graphacademy.neo4j.com/courses/modeling-fundamentals/[Graph Data Modeling Fundamentals^]
43+
44+
You will also need:
45+
46+
* A Neo4j database - choose one of:
47+
** **AuraDB Professional** (recommended) - No credit card required, includes Graph Data Science support and Data Importer
48+
** **GraphAcademy Sandbox** (quick start) - Free temporary sandbox provided with this course for learning
49+
** **Self-managed Neo4j** - Neo4j Desktop or Docker installation
50+
* PostgreSQL installed (link:https://postgresapp.com/[Postgres.app^] for macOS or link:https://www.postgresql.org/download/[postgresql.org^])
51+
* Postico (macOS) or pgAdmin (Windows, Linux, macOS) - optional but recommended
52+
* The Northwind database (instructions provided in the course)
53+
54+
55+
=== Duration
56+
57+
{duration}
58+
59+
60+
=== What you will learn
61+
62+
* The fundamental differences between relational and graph data models.
63+
* How to analyze and understand relational database schemas.
64+
* Techniques for mapping relational tables to graph nodes and relationships.
65+
* How to extract data from PostgreSQL databases.
66+
* How to use the Neo4j Data Importer to migrate relational data into a Neo4j Aura instance.
67+
* Best practices for validating and querying your imported graph data.
68+
69+
70+
[.includes]
71+
== This course includes
72+
73+
* [lessons]#16 lessons#
74+
* [challenges]#1 hands-on challenge#
75+
* [quizes]#20 quizzes to support your learning#

asciidoc/courses/importing-relational-to-graph/data/northwind.sql

Lines changed: 6751 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#4C8EDA', 'primaryTextColor': '#fff', 'primaryBorderColor': '#2563EB', 'lineColor': '#64748B', 'secondaryColor': '#F59E0B', 'tertiaryColor': '#10B981'}}}%%
2+
graph TB
3+
subgraph "Northwind Graph Model - Node Labels"
4+
C((Customer))
5+
O((Order))
6+
P((Product))
7+
Cat((Category))
8+
S((Supplier))
9+
E((Employee))
10+
Sh((Shipper))
11+
end
12+
13+
subgraph "Source Tables"
14+
T1[customers table]
15+
T2[orders table]
16+
T3[products table]
17+
T4[categories table]
18+
T5[suppliers table]
19+
T6[employees table]
20+
T7[shippers table]
21+
end
22+
23+
T1 -->|becomes| C
24+
T2 -->|becomes| O
25+
T3 -->|becomes| P
26+
T4 -->|becomes| Cat
27+
T5 -->|becomes| S
28+
T6 -->|becomes| E
29+
T7 -->|becomes| Sh
30+
31+
style C fill:#4C8EDA,stroke:#2563EB,color:#fff
32+
style O fill:#F59E0B,stroke:#D97706,color:#fff
33+
style P fill:#10B981,stroke:#059669,color:#fff
34+
style Cat fill:#8B5CF6,stroke:#7C3AED,color:#fff
35+
style S fill:#EC4899,stroke:#DB2777,color:#fff
36+
style E fill:#06B6D4,stroke:#0891B2,color:#fff
37+
style Sh fill:#F97316,stroke:#EA580C,color:#fff
38+
47.5 KB
Loading
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#4C8EDA', 'primaryTextColor': '#fff', 'lineColor': '#64748B'}}}%%
2+
graph LR
3+
subgraph "Graph Model"
4+
C((Customer))
5+
O((Order))
6+
C -->|PLACED| O
7+
end
8+
9+
subgraph "Relational Model"
10+
CT[customers table<br/>customer_id PK]
11+
OT[orders table<br/>order_id PK<br/>customer_id FK]
12+
CT -.->|referenced by| OT
13+
end
14+
15+
style C fill:#4C8EDA,stroke:#2563EB,color:#fff
16+
style O fill:#F59E0B,stroke:#D97706,color:#fff
17+
style CT fill:#E2E8F0,stroke:#94A3B8,color:#1E293B
18+
style OT fill:#E2E8F0,stroke:#94A3B8,color:#1E293B
19+
26.3 KB
Loading
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#06B6D4', 'primaryTextColor': '#fff', 'lineColor': '#64748B'}}}%%
2+
graph LR
3+
subgraph "Graph Model"
4+
E((Employee))
5+
O((Order))
6+
E -->|PROCESSED| O
7+
end
8+
9+
subgraph "Relational Model"
10+
ET[employees table<br/>employee_id PK]
11+
OT[orders table<br/>order_id PK<br/>employee_id FK]
12+
ET -.->|referenced by| OT
13+
end
14+
15+
style E fill:#06B6D4,stroke:#0891B2,color:#fff
16+
style O fill:#F59E0B,stroke:#D97706,color:#fff
17+
style ET fill:#E2E8F0,stroke:#94A3B8,color:#1E293B
18+
style OT fill:#E2E8F0,stroke:#94A3B8,color:#1E293B
19+
27.4 KB
Loading

0 commit comments

Comments
 (0)