728x90
반응형

Database 13

[Database] 정규화(Normalization)

🎯 정규화(Normalization) 정규화(Normalization)는 데이터베이스 설계에서 중복 데이터를 최소화하고 데이터 일관성을 유지하기 위해 데이터를 구조화하는 과정입니다. 정규화는 여러 단계로 나눠서 진행됩니다. 각 단계는 더 높은 정규화 수준을 의미하며, 보통 1NF(First Normal Form), 2NF, 3NF, BCNF(Boyce-Codd Normal Form), 4NF, 5NF까지 진행됩니다. 이 단계별로 데이터베이스 구조를 변형해나가는 것을 정규화라고 합니다. 정규화를 수행하면 중복 데이터를 최소화할 수 있어 데이터 저장 공간을 절약할 수 있고, 데이터 일관성을 유지하며 삽입, 수정, 삭제 등의 작업을 보다 효율적으로 수행할 수 있습니다. 하지만 너무 많은 정규화가 일어날 경우,..

Database 2023.03.26

[Database] SQL vs NoSQL

🎯 SQL vs NoSQL SQL(Structured Query Language) SQL(Structured Query Language)은 관계형 데이터베이스에서 사용하는 쿼리 언어입니다. SQL을 사용하면 데이터베이스에 저장된 데이터를 검색하거나 조작하는 등의 작업을 할 수 있습니다. SQL은 데이터의 구조와 유형을 정의하고, 데이터를 삽입, 수정, 삭제, 검색하는데 사용됩니다. SQL은 데이터베이스의 스키마를 정의하는 데이터 정의 언어(DDL), 데이터를 조작하는 데이터 조작 언어(DML), 데이터를 검색하는 데이터 검색 언어(DQL), 데이터를 제어하는 데이터 제어 언어(DCL)로 구성되어 있습니다. SQL은 대부분의 관계형 데이터베이스 관리 시스템(RDBMS)에서 지원됩니다. ⭐️ SQL의 장점 ..

Database 2023.03.26

[Database] SQL Injection

🎯 SQL Injection SQL Injection은 악의적인 사용자가 웹 애플리케이션의 입력 폼 등을 통해 SQL 쿼리문을 조작하여 데이터베이스에 대한 비인가된 접근 및 조작을 시도하는 공격 기법입니다. SQL Injection example 웹 애플리케이션에서 사용자가 입력한 값을 기반으로 SQL 쿼리문을 생성할 때, 사용자의 입력값이 그대로 쿼리문에 포함되는 경우에 발생할 수 있습니다. 악의적인 사용자는 입력값에 SQL 쿼리문을 포함시켜 데이터베이스를 조작할 수 있습니다. 예를 들어, 다음과 같은 로그인 쿼리문이 있다고 가정해보겠습니다. SELECT * FROM users WHERE username = '사용자 입력값1' AND password = '사용자 입력값2' ..

Database 2023.03.25

[Database] JOIN

🎯 JOIN 조인(Join)은 관계형 데이터베이스에서 두 개 이상의 테이블에서 데이터를 결합하여 하나의 결과 테이블을 생성하는 방법 ⭐️ 학생(student) 테이블 id name major 1 Alice English 2 Bob Math 3 Claire Science 4 David History ⭐️ 수업(course) 테이블 id course_name instructor 1 English 101 Smith 2 Math 101 Johnson 3 Science 101 Lee 4 History 101 Kim INNER JOIN INNER JOIN은 두 테이블에서 일치하는 값만을 가져와서 결과 테이블을 생성합니다. SELECT student.name, course.course_name FROM student..

Database 2023.03.25

[Database] Key

🎯 Key 키(Key)는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 다른 튜플들과 구별할 수 있는 유일한 기준이 되는 Attribute(속성) 키는 데이터베이스의 성능과 무결성에 중요한 역할을 합니다. 데이터베이스 디자인 시에 키를 잘 정의하여, 데이터베이스의 무결성을 보장하고 데이터 검색 및 조작의 효율성을 높일 수 있습니다. ⭐️ 학생 테이블 id name student_id email phone 1 Alice 123 alice@gmail.com 123-0000 2 Bob 234 bob@gmail.com 234-0000 3 Claire 345 claire@gmail.com 345-0000 4 David 456 david@gmail.com 456-0000 5 Emma 567 em..

Database 2023.03.25

[Database] MySQL to Oracle

MySQL to Oracle MySQL 5.6 version → Oracle 12 version 현재 MySQL을 Oracle로 변경하는 작업을 진행중이다. * 어려운 쿼리는 없었으나 수정된 내용에 대해서 기록을 남기려고 한다. 1. MySQL 의 GROUP BY는 Alias 명을 통해서도 가능하며 선언한 컬럼을 MAX, MIN, SUM 등의 함수로 쓰지 않아도 Default로 MIN 값으로 적용된다. ex ) 아래 처럼 MySQL은 Alias명으로 바로 GROUP BY를 처리할 수 있으며 선언하지 않은 ID는 Defalut로 MIN 값으로 적용된다. -- MySQL SELECT ID, NAME AS NM, SUM(SCORE) AS SUM FROM STUDENTS GROUP BY NM; -- Oracle..

Database 2021.07.31
728x90
반응형