강의

멘토링

커뮤니티

Programming

/

Database

Tại sao lại thế? Thật là tuyệt vời! Thiết kế DB và xử lý dữ liệu

Chúng tôi sẽ xem xét cách xử lý và chế biến dữ liệu về "Cà phê học tập, cơ sở dữ liệu tiểu thuyết web và dữ liệu chuẩn thông tin bãi đậu xe trên toàn quốc" bằng cách sử dụng MariaDB và MySQL.

(5.0) 1 đánh giá

79 học viên

Độ khó Cơ bản

Thời gian Không giới hạn

  • swa
데이터베이스
데이터베이스
데이터테이블
데이터테이블
SQL
SQL
MariaDB
MariaDB
mysql-workbench
mysql-workbench
MySQL
MySQL
데이터베이스
데이터베이스
데이터테이블
데이터테이블
SQL
SQL
MariaDB
MariaDB
mysql-workbench
mysql-workbench
MySQL
MySQL

Bạn sẽ nhận được điều này sau khi học.

  • Thiết kế ERD bằng cách sử dụng MySQL Workbench

  • SQL để tạo dữ liệu cơ bản

  • Các truy vấn thống kê đơn giản bạn có thể tạo

📢 Hãy nhớ kiểm tra nhé!

  • Tất cả video của khóa học này đều có sẵn miễn phí trên YouTube ("SQL Bank"). (Tài liệu bài học được cung cấp, nhưng không được sao chép nội dung.)

  • Nếu bạn xem trên Inflearn, bạn sẽ được trải nghiệm môi trường không có quảng cáoquyền truy cập vào các tệp bài học có sẵn . Hãy nhớ lưu ý điều này khi mua khóa học.

Tại sao vậy? Làm sao vậy! Thiết kế DB và xử lý dữ liệu

Khi học SQL hoặc cơ sở dữ liệu, đôi khi bạn sẽ có những thắc mắc.

  • 'Tại sao tôi lại học cái này nhỉ?'

  • 'Tôi nghĩ mảng sẽ đủ cho các cấu trúc dữ liệu trong các ngôn ngữ lập trình khác.'

Tuy nhiên, ngay khi bạn tham gia một nhóm phát triển dự án hoặc dịch vụ với cùng một mục tiêu, bạn sẽ nhanh chóng nhận ra rằng SQL không chỉ là lĩnh vực của các nhà phát triển cơ sở dữ liệu. Các nhà lãnh đạo và trưởng nhóm thường cho rằng hầu hết các nhà phát triển đều thành thạo SQL, và việc tìm thấy những khách hàng khá thành thạo về nó cũng là điều dễ hiểu. Điều này giải thích tại sao nhiều người cho rằng cơ sở dữ liệu rất dễ.

Từ đó trở đi, các nhà phát triển chương trình bắt đầu coi SQL là một gánh nặng.

  • Tôi có nên đưa logic này vào truy vấn hay xử lý nó bằng câu lệnh LOOP-IF không?

  • Tôi đã tạo ra nó bằng SQL, nhưng đó không phải là lĩnh vực chuyên môn của tôi và tôi không thể hỏi bất kỳ ai...

  • Tôi không biết. Tôi sẽ nhờ trưởng nhóm làm giúp.

Nếu bạn tình cờ xem lại một nghiên cứu điển hình của một dự án trước đó, bạn thường thấy rằng số lượng truy vấn SQL lớn hơn và phức tạp hơn mã nguồn lập trình.

  • Không phải là tôi dở, nhưng sao tôi lại ghét DB đến thế? Tôi đã học rồi, nhưng nó quá rõ ràng! Càng nhìn tôi càng tự hỏi, "Làm sao mà họ tạo ra được tất cả những thứ này nhỉ?"

Bởi vì, mặc dù tôi đã dày công học hỏi kiến thức và lý thuyết SQL cơ bản, tôi chưa bao giờ thực sự áp dụng nó một cách hiệu quả. Thật khó để có được kinh nghiệm đa dạng với SQL ngoài các dự án thực tế. Họ nói với tôi rằng cơ sở dữ liệu phát triển không tốt vì lý do này, cơ sở dữ liệu vận hành không tốt vì lý do kia, và họ thậm chí còn bảo tôi không nên sử dụng cơ sở dữ liệu PC cá nhân...

Hơn nữa, không giống như các ngôn ngữ lập trình thông thường, SQL mang tính cá nhân hóa cao, mỗi người dùng đều có quan điểm riêng về câu trả lời đúng. Hơn nữa , việc quen thuộc với các cấu trúc dữ liệu làm tăng tính khả dụng của nó, khiến việc xử lý các tác vụ phát triển cơ sở dữ liệu chỉ với SQL trở nên khó khăn . Nói cách khác, bạn càng ít kinh nghiệm thực tế với các hệ thống và môi trường khác nhau, bạn càng có xu hướng cảm thấy như mình đang bước vào một thế giới mới.

Khi bạn theo dõi khóa học, hãy dừng lại một chút và suy nghĩ về nó.

  • Nếu tôi là bạn, bạn sẽ tạo dữ liệu trong trường hợp này như thế nào?

  • Nếu dữ liệu thử nghiệm cung cấp càng nhiều trường hợp thì càng tốt, vậy tôi có thể tự tạo ra bao nhiêu trường hợp?

Đúng vậy. Có một sự khác biệt lớn giữa lập trình và dữ liệu. Nếu lập trình là logic, thì dữ liệu là kinh nghiệm . Bởi vì nó phong phú như những sự kiện xảy ra trong cuộc sống con người. Đó là lý do tại sao kinh nghiệm lại quan trọng đến vậy, và việc chỉ thích nghi với SQL không hề dễ dàng.

Khóa học cung cấp một số lượng dự án hạn chế, nhưng chúng mang lại " trải nghiệm thực hành ". Tất cả đều liên quan đến xử lý dữ liệu và xử lý truy vấn. Bạn cần thành thạo trình soạn thảo, có khả năng tạo và xóa bảng, và xem xét nhiều trường hợp ngoại lệ. Đây là một trải nghiệm hoàn toàn khác biệt so với lập trình. Ngay cả khi bạn nghĩ mình đã hoàn thành, bạn sẽ thấy mình phải quay lại bảng vẽ hàng chục hoặc hàng trăm lần, và công việc lập trình vẫn còn đó.

Tuy nhiên, bạn càng tham vọng trong việc kết hợp các kịch bản đa dạng vào dữ liệu thử nghiệm, thì việc lập trình tiếp theo càng trở nên dễ dàng hơn. Điều này là do logic lập trình đã được lên kế hoạch, dự đoán và mã hóa trong đầu bạn ngay từ quá trình tạo dữ liệu. Có lẽ đó là điều mà các giám đốc điều hành cấp cao thường gọi là " kinh nghiệm ".

Dần dần, bạn sẽ có thể tiếp cận tầm quan trọng của " thiết kế " từ góc độ dữ liệu. Bạn cũng sẽ đối mặt với những nguy cơ khi tin rằng những sai sót trong thiết kế có thể được khắc phục bằng lập trình. Do đó, bạn có thể thấy mình dành nhiều công sức, nỗ lực và sự chú ý đến từng chi tiết hơn cho giai đoạn thiết kế. Chẳng phải điều đó bắt đầu giống với hình ảnh của một người mà bạn hằng ao ước sao? Hình ảnh của một chuyên gia cấp cao.

Tôi tin rằng một lập trình viên giỏingười đã làm việc với nhiều môi trường dữ liệu khác nhau, chứ không phải người thành thạo nhiều ngôn ngữ và công nghệ. Mặc dù việc gia tăng giá trị tức thời của bạn trên thị trường và trong công ty là rất quan trọng, nhưng nếu bạn muốn xây dựng sự nghiệp lâu dài từ việc này, tôi tin rằng đích đến cuối cùng sẽ là lĩnh vực dữ liệu.

Tôi hy vọng khóa học này sẽ giúp bạn khám phá phương pháp tiếp cận dữ liệu và SQL thực tế của riêng mình. Không có câu trả lời đúng, nhưng chắc chắn có những giải pháp dành riêng cho bạn.

Tìm hiểu về những điều này

Mục (0) Hệ thống DB nội bộ cần thiết khi đăng ký quán cà phê học tập

  1. Tìm một quán cà phê học tập

    • Giới thiệu dịch vụ Study Cafe.

    • Hãy xem thực đơn ki-ốt và bảng giá.

  2. Tôi đứng trước ki-ốt một lúc lâu

    • Khi khách hàng đăng ký, cấu trúc DB cần thiết sẽ được vẽ trực tiếp trong ERD.

  3. Một thế giới không cần thanh toán, được tưởng tượng trong tâm trí tôi

    • Tạo một bảng dựa trên ERD đã thiết kế

    • Tạo và nhập dữ liệu ảo (thử nghiệm) gần giống với thực tế.

  4. Mọi thứ tôi làm đều là dữ liệu

    • Truy vấn dữ liệu thống kê ảo dựa trên dữ liệu được tạo ra.

    • Tại thời điểm này, chúng ta hãy tạo một truy vấn thống kê đơn giản.

Hệ thống đăng ký Study Cafe ERD

Mục (1) Các bảng và cấu trúc dữ liệu quan trọng trong tiểu thuyết web

  1. Nếu một ngày nào đó cuốn tiểu thuyết tôi viết được bán

    • Giới thiệu về tiểu thuyết web và trang web bán hàng

    • Màn hình chính > Màn hình chi tiết > Tìm kiếm tập > Màn hình thống kê

  2. Một thế giới được gọi là ERD, một nhân vật được gọi là Table

    • Vẽ ERD bằng MySQL Workbench

    • Về Bảng chính/Tham chiếu/Hiệu suất

  3. Điểm khởi đầu là dữ liệu thời kỳ và sự phát triển là bảng tham chiếu.

    • Bảng thông tin thể loại/hoàn chỉnh/serialization/tag

    • Về dữ liệu thời kỳ (bảng ID tiếng Anh/tiếng Hàn) và các hàm liên quan

  4. Bộ sưu tập các nhân vật chính và các nhân vật khác, bảng thông tin tiểu thuyết trên web.

    • Tạo dữ liệu ảo từng bước cho tất cả các giá trị cột trong thông tin tiểu thuyết web

    • Phương pháp mã hóa giá trị dữ liệu sử dụng bảng tham chiếu

  5. Bảng thông tin về hội thoại, hành động và tập phim

    • Tạo dữ liệu ảo từng bước cho tất cả các giá trị cột trong thông tin lượt

    • Tải một tiểu thuyết đã chọn lên cơ sở dữ liệu và xử lý nó thành từng tập riêng lẻ

    • Đăng ký các tập phim theo ngày trong tuần

  6. Bản thân câu chuyện, bảng hiệu suất

    • Tạo dữ liệu ảo cho thông tin tuần tự

    • Tạo dữ liệu ảo dựa trên số liệu thống kê lượt xem tập phim

  7. Một đoạn kết ngắn của tiểu thuyết, một truy vấn thống kê

    • Tổng số lượt xem tích lũy theo giờ

    • SQL để chia và tính tổng cho N giờ mỗi ngày

    • Chia cho N(1,2,3,4,6,12,24) đơn vị thời gian và tính tổng số lượt xem

    • Cách nhóm các lượt xem theo N ngày và tổng hợp chúng

Trang chủ tiểu thuyết web/chi tiết ERD

Mục (2) Thông tin bãi đỗ xe quốc gia, từ dữ liệu RAW đến PK

  1. Tôi cần dữ liệu RAW

    • Tải xuống tệp dữ liệu chuẩn về thông tin bãi đậu xe quốc gia do Cổng dữ liệu công cộng cung cấp.

  2. Có ai có thể giải thích nội dung dữ liệu phức tạp này không?

    • Truy cập Phòng dữ liệu Cổng thông tin dữ liệu công cộng

    • Duyệt các tài liệu PDF (thông số kỹ thuật của bảng) cung cấp thông tin chi tiết về dữ liệu chuẩn.

  3. Dữ liệu RAW tạo ra bản gốc

    • Tạo bảng chính dựa trên tệp dữ liệu thô (CSV, Excel)

    • Chỉnh sửa tệp dữ liệu RAW bằng trình soạn thảo miễn phí Notepad++

  4. Bậc thầy sinh ra một tham chiếu

    • Tạo bảng tham chiếu dựa trên bảng chính

    • Câu lệnh CREATE TABLE AS SELECT

    • CẬP NHẬT các giá trị mã bằng cách sử dụng câu lệnh UPDATE JOIN

  5. Trốn kỹ đi, PK, tôi chắc chắn sẽ tìm thấy anh!

    • Nhiều cách khác nhau để tìm Khóa chính [Nhóm]

    • ETL là gì? (Trích xuất, Chuyển đổi, Tải)

  6. Nếu bạn không có nó, hãy tạo ra nó

    • Tạo nhóm khóa chính với cột mới

    • Về bảng TẠM THỜI được sử dụng ở giai đoạn trung gian

  7. Cập nhật định kỳ, tăng số lượng! ~Ngày

    • Cập nhật bảng tổng hợp hoạt động hiện có bằng toàn bộ tệp dữ liệu bao gồm cả biên bản thay đổi.

    • CHÈN VÀO bảng CHỌN ... TRÊN CẬP NHẬT DUPLICATE ... Nhập và cập nhật trong một câu

Dữ liệu Tiêu chuẩn Thông tin Bãi đậu xe Quốc gia

Những điều cần lưu ý trước khi tham gia khóa học

Môi trường thực hành

  • Hệ điều hành và Phiên bản (OS): Khuyến nghị Windows 10 trở lên

  • Công cụ được sử dụng: MariaDB 10.x trở lên được cài đặt trên máy tính cá nhân, người dùng chung và DB, và HeidiSQL

  • mysql-workbench 8.x trở lên (không yêu cầu máy chủ MySQL)

  • Thông số kỹ thuật PC: Khuyến nghị bộ nhớ 6GB trở lên

Tài liệu học tập

  • Sao chép nội dung, tệp PDF có thể in, tập lệnh SQL và tệp ERD (được tham chiếu trong khóa học)

  • Không bao gồm việc cài đặt MariaDB, mysql-workbench và HeidiSQL.

Kiến thức và biện pháp phòng ngừa của người chơi

  • Được khuyến nghị cho người dùng SQL mới bắt đầu đến trung cấp

  • Đối với mysql-workbench , bạn nên tham gia khóa học " Vẽ bản đồ dữ liệu ERD, MySQL Workbench " trước.

  • Đối với HeidiSQL, chúng tôi khuyên bạn nên tham gia khóa học " Phát triển máy khách MariaDB, HeidiSQL " trước.

  • Tất cả video của khóa học này đều có sẵn miễn phí trên YouTube ("SQL Bank"). (Tài liệu bài học được cung cấp, nhưng không được sao chép nội dung.)

  • Nếu bạn xem trên Inflearn, bạn sẽ được trải nghiệm môi trường không có quảng cáoquyền truy cập vào các tệp bài học có sẵn . Hãy nhớ lưu ý điều này khi mua khóa học.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • SQL Developer đã hoàn thành phần cơ bản + lý thuyết + thực hành nhưng không biết phải làm gì tiếp theo

  • Các nhà phát triển cần tạo dữ liệu DB cơ bản để thử nghiệm

  • Các trưởng nhóm phát triển-vận hành muốn tăng cường năng lực cho các thành viên mới!

Cần biết trước khi bắt đầu?

  • SQL cấp độ cơ bản/trung cấp

  • Cách sử dụng cơ bản của HeidiSQL

  • Cách vẽ sơ đồ ERD cơ bản bằng MySQL Workbench

Xin chào
Đây là

2,631

Học viên

69

Đánh giá

28

Trả lời

4.8

Xếp hạng

10

Các khóa học

안녕하세요 소프트웨어알림장』입니다. 데이터베이스 및 미들웨어 애플리케이션 개발, 응용 분야의 경험을 쌓아왔으며 MySQL과 MariaDB를 바탕으로 SQL을 활용한 강좌들을 제작하고 있습니다. 유튜브 채널 "SQL뱅크" 를 운영하고 있습니다.

Hello, this is "SQL BANK". I have accumulated experience in developing database and middleware applications and in various application fields. I create tutorials utilizing SQL based on MySQL and MariaDB. I also run a YouTube channel called "SQL BANK".

Chương trình giảng dạy

Tất cả

18 bài giảng ∙ (3giờ 55phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

1 đánh giá

5.0

1 đánh giá

  • pink321ryu님의 프로필 이미지
    pink321ryu

    Đánh giá 21

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Tôi đã tham gia khóa học thiết kế DB với mục tiêu phát triển gói web đầy đủ. Đó là một quá trình có hệ thống. Việc lặp đi lặp lại với nhiều ví dụ khác nhau đã giúp tôi hiểu được khái niệm này rất nhiều. Cảm ơn Trong trường hợp có mối quan hệ qua lại giữa các trường, tức là phạm vi lựa chọn của trường 2 được xác định theo nội dung của trường 1 và phạm vi lựa chọn của trường 3 được xác định theo nội dung của trường 2, &# x27 ; bom ' Có một phần. Tôi nên xem phần nào để nghiên cứu thêm về loại cây này?

    • swa
      Giảng viên

      Xin chào, Jae-an Ryu. Chúc mừng bạn đã hoàn thành khóa học. Cảm ơn bạn rất nhiều vì đã làm việc chăm chỉ. Cấu trúc BOM mà bạn hỏi thường được lưu trữ trong cơ sở dữ liệu nội bộ của công ty dưới dạng "Sơ đồ tổ chức nhân sự" Nó thường được bao gồm trong các dạng tương tự, nhưng không được cung cấp bên ngoài. Vì vậy, không dễ để có được nó. Tôi không biết liệu đây có phải là câu trả lời thích hợp hay không nhưng tôi sẽ cho bạn một ví dụ do cổng dữ liệu công cộng cung cấp. https://www.code.go.kr/index.do Hệ thống quản lý mã tiêu chuẩn hành chính Trên màn hình kết nối đầu tiên, Tìm kiếm mã (trên cùng) > Tìm kiếm mã tổ chức (dưới cùng) Chọn loại tổ chức > "Tổ chức lập pháp" lựa chọn Chọn cột bắt buộc > Bằng cấp, cấp bậc, mã tổ chức cao nhất tiếp theo, mã tổ chức cao nhất, mã số tổ chức trực thuộc, mã tổ chức đại diện Khoảng 519 mục đã được in sau khi tìm hiểu > Ở trên cùng bên phải của bảng, "Dữ liệu tìm kiếm mã tổ chức" Tải xuống bằng nút (Tổng số dữ liệu là hàng trăm nghìn mục nên có thể mất nhiều thời gian nên tôi chọn đây làm ví dụ trong đó chỉ một phần dữ liệu được tải xuống.) (Ví dụ về tạo bảng trong DB cá nhân) -Tên bảng: org_exam tạo hoặc thay thế bảng org_exam ( Mã tổ chức varchar(100), Tên tổ chức đầy đủ varchar(1000), Tên tổ chức cấp thấp nhất varchar(100), độ varchar(100); chuỗi varchar(100); Mã thẩm quyền cao nhất tiếp theo varchar(100), Mã cơ quan hàng đầu varchar(100), Số đầu máy trực thuộc varchar(100), Mã đại lý varchar(100), Người đăng ký VARCHAR(100) ); "Dữ liệu truy vấn mã tổ chức.csv" Tải tệp lên bằng các công cụ như HEIDISQL CHỌN ĐẾM(*) TỪ org_exam ; (truy vấn thực hiện) VỚI tmp ĐỆ THU NHƯ ( LỰA CHỌN Mã tổ chức, tên tổ chức đầy đủ, mã tổ chức cao nhất tiếp theo, tên tổ chức đầy đủ Đường dẫn AS, 1 AS lev TỪ org_exam WHERE mã đại lý cấp tiếp theo = '0000000' ĐOÀN TẤT CẢ LỰA CHỌN bs. mã tổ chức, bs. tên đầy đủ của tổ chức, bs. CONCAT(t.path,',',bs.Tên tổ chức đầy đủ) AS path, t.lev+1 AS lev TỪ tmp t THAM GIA org_exam bs ON t. Organisation code=bs.second-higher code tổ chức ) LỰA CHỌN Mã tổ chức, CONCAT(REPEAT(' ',lev*4), tên đầy đủ của tổ chức) Tên tổ chức đầy đủ, mã tổ chức cao nhất tiếp theo, đường dẫn, lev TỪ tmp ĐẶT HÀNG THEO Mã tổ chức ; Dữ liệu kết quả tìm kiếm thông qua phân cấp dữ liệu (Cần kiểm tra dữ liệu để biết kết quả và sửa đổi truy vấn cho phù hợp.) -- Riêng biệt với điều này, các điều kiện tìm kiếm cho trường 2 theo thay đổi trong trường 1 và trường 3 theo thay đổi trong trường 2 được thay đổi bằng cách đăng ký các sự kiện Onload và OnChanged trong hộp danh sách trong JavaScript, Nodejs, JAVA, v.v. và thực hiện một cuộc gọi truy vấn mỗi khi trường được thay đổi Một phương pháp phổ biến là nhập dữ liệu và tải lại. Nếu lượng dữ liệu lớn, một giải pháp là nhập tất cả danh sách dữ liệu điều kiện tìm kiếm ngay từ đầu và xử lý chúng trên máy khách, nhưng cách này có những nhược điểm như nguồn trở nên phức tạp và giao diện người dùng trở nên nặng. -- Ngoài ra, người ta nói ngành sản xuất sử dụng BOM cho các bộ phận tạo nên thành phẩm nhưng rất khó giải thích vì tôi chưa có cơ hội nhìn thấy. Cảm ơn sự nỗ lực của bạn

744.098 ₫

Khóa học khác của swa

Hãy khám phá các khóa học khác của giảng viên!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!