Daniel: The Dev Story
Daniel: The Dev Story
    • 홈
  • 분류 전체보기
    • 프로젝트
    • Spring
    • NodeJS
    • Basics
    • Git
    • DB
    • Algorithm
    • Error
    • Private
      • Database
      • Tip
  • 글쓰기
  • 관리자
  • myoskin

      [Only For Me] 인덱스, 그리고 선형과 이진 탐색의 개념

      보호되어 있는 글입니다.

      DB 2023.05.26

      [Only For Me] 정규화(Normalization)와 정규형에 대해 이해

      보호되어 있는 글입니다.

      DB 2023.05.25

      [Only For Me] ERM에서 일대일, 일대다, 다대다 모델링하기

      보호되어 있는 글입니다.

      DB 2023.05.25

      [SQL] 데이터베이스 모델링 기본 개념

      단어: entity(개체): 데이터베이스에서 관리되는 항목을 나타낸다. 예를 들어, '학생' 이라는 entity가 있을 수 있으며, 이는 '학생' 이라는 테이블을 데이터베이스에서 생성하는 것과 같다.(Table을 의미) attribute(속성): entity에 대해서 저장하려는 내용(Column을 의미) FK: Foreign Key(외래 키) 데이터 모델링은 주로 두 가지로 이루어진다. 논리적 모델링: 데이터와 관련된 규칙과 관계에 초점을 맞춘다. (개년적 구조를 정하는 것) 물리적 모델링: 논리적 모델을 실제 데이터베이스 시스템에 구현하는 과정이다. 이 과정에서는 물리적 저장소의 세부 정보, 성능 최적화, 인덱싱 전략, 데이터 엑세스 및 보안 이슈 등을 고려한다. (데이터베이스 구축에 필요한 것들을 정..

      DB 2023.05.24

      [mySQL] 테이블 이름 변경, 복사, 삭제하기

      테이블 이름 변경하기 테이블 이름 수정, table rename RENAME TABLE 현재_테이블_이름 TO 변경할_테이블_이름 기본구조 RENAME TABLE 현재_테이블_이름 TO 변경할_테이블_이름; 테이블 복사하기 copy table, table copy CREATE TABLE을 활용해 테이블을 복사할 수 있다. CREATE TABLE 테이블_이름 AS SELECT * FROM 복사할_테이블_이름; 위 SQL문은 똑같은 행과 열을 그대로 가져와서 새로 만든다는 뜻이다. 더보기: 테이블 복사의 두 가지 방법, 그 차이점 더보기 다음과 같이 복사를 할 때는 FK의 관계는 복사되지 않지만, CREATE TABLE A SELECT * FROM B; LIKE를 사용하면 FK나 CONSTRAINT 역시 복..

      DB 2023.05.22

      [mySQL] CONSTRAINT, 특정 컬럼에 제약사항 걸기

      CONSTRAINT: 제약사항 테이블에 이상한 row가 추가되는 것을 막아준다. 제약사항 추가 ADD CONSTRAINT 제약사항 이름 CHECK 제약내용으로 제약사항을 추가할 수 있다. 기본구조 ALTER TABLE 테이블_이름 ADD CONSTRAINT 제약사항_이름 CHECK (제약내용); (예시 SQL문) users 테이블의 registraion_number 컬럼은 10000000 미만이어야 하고, 이 제약사항의 이름은 st_rule이다. ALTER TABLE users ADD CONSTRAINT st_rule CHECK (registration_number < 10000000); 제약사항 제거 DROP CONSTRAINT 제약사항_이름 으로 제거 가능하다. 기본구조 ALTER TABLE user..

      DB 2023.05.22

      [mySQL] Primary Key(기본키)와 UNIQUE 속성의 차이

      UNIQUE: 특정 열(column)에는 같은 값이 두 번 이상 있을 수 없는 제약조건을 부여한다. 다시말해 UNIQUE 속성이 부여된 열(column)에는 모두 서로 다른 값을 가져야 한다. Primary Key와 UNIQUE 속성의 차이점 NULL 값: Primary key는 NULL을 허용하지 않는다. Primary key가 지정된 열은 NULL 값을 가질 수 없으나, UNIQUE는 NULL 값을 허용한다. 한 테이블당 설정 가능 개수: Primary key는 한 테이블에 하나만 가능하다. 반면에 UNIQUE는 한 테이블에 여러개 설정이 가능하다. 테이블의 행을 고유하게 식별: Primary key는 테이블의 각 행을 고유하게 식별하는 역할을 한다. 하지만 UNIQUE는 이런 역할을 하지 않는다. ..

      DB 2023.05.21

      [mySQL] 기본값(Default value) 설정하기

      Default Value(기본값)을 설정하는 이유 NOT NULL 설정을 하고, Default Value가 없으면 row를 추가할 때 에러가 발생한다. Default Value가 있으면 에러가 발생하지 않음 기본값(default value) 설정하기 MODIFY는 특정 컬럼의 데이터 타입, 속성, 기본값(디폴트 값) 등을 설정할 수 있다. 기본구조 ALTER TABLE 테이블명 MODIFY 컬럼명 변경할_데이터_타입 NOT NULL DEFAULT 값; 필요한 설정을 작성한 뒤, DEFAULT 101; 이라고 작성하면 101이 이 컬럼의 기본값이 되는거다. 기본값 활용 예시 DEFAULT CURRENT_TIMESTAMP: 이 설정은 해당 필드에 아무런 값이 주어지지 않았을 때 현재시간을 기본 값으로 설정한..

      DB 2023.05.21

      [mySQL] 테이블의 컬럼 추가, 삭제와 컬럼의 이름 변경

      ALTER TABLE: 테이블을 수정 테이블에 컬럼 추가하기 테이블 생성, 테이블 추가, add column ALTER TABLE ADD ... ... ALTER TABLE 테이블이름 ADD 컬럼이름 데이터타입 설정... ...; (예시 SQL문) student 테이블에 birth_date 라는 컬럼을 DATE 타입으로, 그리고 NOT NULL을 설정해줄거라면 다음과 같이 작성이 가능하다. ALTER TABLE student ADD birth_date DATE NOT NULL; 컬럼이름 수정하기 테이블 컬럼 수정, 컬럼수정, 컬럼 리네임,column rename, rename column ALTER TABLE RENAME COLUMN TO 기본구조 ALTER TABLE 테이블이름 RENAME COLUMN..

      DB 2023.05.21

      [mySQL] 데이터베이스 테이블의 row 데이터 수정 및 삭제

      수정한다, 갱신한다 UPDATE SET = , = , ... WHERE UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; (예시 SQL문) users 테이블에서 아이디가 daniel12인 사용자의 이메일 주소를 변경하려면 다음과 같이 작성할 수 있다. UPDATE users SET email = 'john_new@example.com' WHERE id = 'daniel12'; 주의! 만약 WHERE을 쓰지 않으면 모든 row의 값이 해당 값으로 바뀐다. DELETE FROM WHERE DELETE FROM table_name WHERE condition; (예시 SQL문) users 테이블에서 아이디가 daniel..

      DB 2023.05.21

      [mySQL] 데이터베이스 테이블(Table)에 데이터 추가하기

      새로운 row 추가 INSERT INTO (, ,...,...) VALUES (, ,...,...); INSERT INTO 테이블_이름 (컬럼이름, 컬럼이름, 컬럼이름, 컬럼이름,...) VALUES ('값1', '값2', '값3', '값4'); (예시SQL문) students 테이블에 id, name, grade, email 컬럼에 추가할 값들을 설정했다. INSERT INTO students (id, name, grade, email) VALUES (1, 'John Doe', '3rd', 'johndoe@example.com'); 실행하면 새로운 row가 생성된다. 여러 개의 row 추가 INSERT INTO students (id, name, grade, email) VALUES (2, 'Jane..

      DB 2023.05.20

      [mySQL] 서브쿼리 중첩의 문제점과 뷰(view) 이해하기

      서브쿼리 이해하기 뷰(view): 가상테이블, 데이터베이스의 여러 테이블에서 얻은 정보를 하나의 테이블처럼 보여주는 도구이다. 복잡한 쿼리를 뷰로 만들어 놓고 다른 테이블에서 그 뷰를 마치 테이블 처럼 사용할 수 있다. 아래 SQL문은 '고객'과 '주문' 테이블이 있고, 고객별로 총 주문 금액을 알게 해 준다. SELECT customers.id, customers.name, SUM(orders.amount) as total_order_amount FROM customers INNER JOIN orders ON customers.id = orders.customer_id GROUP BY customers.id; 이 쿼리를 customer_orders라는 뷰로 아래와 같이 만들 수 있다. ( // 는 주석..

      DB 2023.05.20

      [mySQL] 서브쿼리를 이용한 데이터 분석

      command + f 혹은 Ctrl + f를 활용하여 검색, 또는 블로그 하단 검색 Input 활용해 검색 목차 SELECT 절에서 사용되는 서브쿼리 WHERE 절에서 사용되는 서브쿼리 FROM 절에서 사용되는 서브쿼리 서브쿼리를 나누는 또다른 기준, 상관 서브쿼리와 비상관 서브쿼리 서브쿼리란 무엇인가? (이해하기) SELECT 절에 사용된 서브쿼리(스칼라 서브쿼리) - 서브쿼리가 리턴하는 값이 하나의 column 하나의 row 예를 들어, 우리가 학생들의 시험 점수를 가지고 있고, 각 학생의 점수가 전체 평균 점수와 얼마나 차이가 나는지 알고 싶다면 다음과 같이 작성이 가능하다. SELECT student_name, score, (SELECT AVG(score) FROM scores) - score A..

      DB 2023.05.19

      [mySQL] 서브쿼리(subquery)에 대해 이해하기

      서브쿼리는 쿼리 안의 쿼리이다. 바깥의 큰 쿼리가 진행되기 전에 안의 작은 쿼리를 먼저 실행시킨다. 예를 들어, 피자집에서 메뉴 중 가장 비싼 피자를 알고 싶을 때, 서브쿼리를 사용하면 다음과 같다. SELECT name FROM pizza WHERE price = (SELECT MAX(price) FROM pizza); // 서브쿼리 이 부분에서 (SELECT MAX(price) FROM pizza) 부분이 서브쿼리이다. 이 서브쿼리는 pizza 테이블에서 price 컬럼에서 가장 큰 값을 찾고, 큰 쿼리에서 그 값과 같은 값의 피자를 찾는다.

      DB 2023.05.19

      [mySQL] 조인(JOIN) 작업에 대해 알아보기, 온라인 사전

      Foreign Key(외래키): 다른 테이블에서 특정 row를 참조할 수 있게 해주는 컬럼. 이 글에서 '연산'이란?: 테이블을 합치는 작업 command + f 혹은 Ctrl + f로 원하는 구문 키워드 검색하면 유용하다. 목차 결합연산 집합연산 ON과 USING ON과 WHERE의 차이 결합연산 JOIN: 여러 테이블 연결 LEFT OUTER JOIN LEFT OUTER JOIN ON : 왼쪽에 있는 테이블을 기준으로 를 가져오고 에 맞게 정렬한다. SELECT item.id, item.name, stock.item_id, stock.inventory_count FROM copang_main.item LEFT OUTER JOIN copang_main.stock ON item.id = stock.ite..

      DB 2023.05.18

      [mySQL] 데이터 분석 함수 온라인 사전

      ** JavaScript를 공부하여 인자(아규먼트, Argument) 라는 단어가 편하여 인자 라는 단어를 사용함 ** 와 같이 작성이 되어 있는데, 는 빼고 입력하자 Aggregate Function(집계 함수) COUNT(): row의 개 수 구하기 NULL의 개수는 빼고 구함. 모든 row를 구하고 싶으면 COUNT(*)를 작성하면 된다. MAX(): 가장 큰 값 구하기 #최댓값 #최대값 MIN(): 가장 작은 값 구하기 #최솟값 #최소값 AVG(): 평균 값 구하기 NULL은 포함하지 않는다. SUM(): 인자로 받은 값의 합을 구한다. STD(): 인자로 받은 값의 표준편차를 구한다. Mathematical Function (산술 함수) ABS(): 절대값을 구해준다. SQRT(): 제곱근을 구..

      DB 2023.05.17

    12
    Daniel: The Dev Story

    찾기

    공지

    최근 글

    인기글

    최근 댓글

    캘린더

      7 / 2025
      일 월 화 수 목 금 토
      1 2 3 4 5
      6 7 8 9 10 11 12
      13 14 15 16 17 18 19
      20 21 22 23 24 25 26
      27 28 29 30 31

    글 보관함

    태그

      타입스크립트Algorithm코딩java알고리즘git백준MYSQL자바BOJ

    즐겨찾기

    방문자 수

    • Today
    • Yesterday
    • Total
    myoskin

    티스토리툴바