DB/DataBase
-
[MSSQL] MSSQL이란? (MySQL, Oracle 차이점)DB/DataBase 2023. 6. 15. 09:55
이번 인터뷰를 보러가는 곳에서 MSSQL을 사용한다고 하니, 인터뷰 보기 전 MSSQL에 대해 정리하려고 한다. 📑 MSSQL이란? 마이크로소프트에서 개발한 RDBMS이다. 윈도우 기반의 IIS서버에서 주로 사용한다. MSSQL은 대규모 데이터베이스 애플리케이션을 지원하는 기능적인 데이터 관리 시스템이다. 이를 통해 사용자는 데이터를 구성, 저장, 관리하고, 데이터베이스에 대한 효율적인 액세스 및 조작이 가능하다. MSSQL은 다양한 기능을 제공하는데, ACID(원자성, 일관성, 독립성, 지속성) 트랜잭션 지원, 복제, 보안 및 접근 제어, 데이터 백업 및 복구, 데이터베이스 관리 등이 포함된다. 또한 고급 쿼리, 저장 프로시저, 트리거, 사용자 정의 함수 등을 사용하여 데이터 조작과 로직 구현이 가능하..
-
[DB] Index, 인덱스 사용하는 이유DB/DataBase 2023. 1. 11. 16:06
만약 조건을 줘서 어떤 값을 찾아야 될때 테이블에 데이터가 100만개가 있다면,,? full scan으로 찾아야 된다. 이럼 시간 복잡도가 O(N)이 된다. 하지만 만약 first_name에 인덱스가 걸려있다면 시간 복잡도는 O(logN) 이 된다. (b-tree 기준) 📑 인덱스란 ? 인덱스란 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조이다. 만약 우리가 책에서 원하는 내용을 찾는다고 하면, 책의 모든 페이지를 찾아 보는것은 오랜 시간이 걸린다. 그렇기 때문에 책의 저자들은 책의 맨 앞 또는 맨 뒤에 색인을 추가하는데, 데이터베이스의 index는 책의 색인과 같다. 데이터베이스에서도 테이블의 모든 데이터를 검색하면 시간이 오래 걸리기 때문에 데이..
-
[Database] 식별관계 비식별관계 비교DB/DataBase 2023. 1. 10. 15:15
exERD에서 테이블을 설계할 때 창고에서 product 테이블의 기본키인 상품코드 값을 가져와야된다. 가져올 때 식별로 가져와야할까 비식별로 가져와야할까?? 그 둘의 의미 차이가 무엇인지 오늘 정리해보려한다. 식별 비식별 관계는 외래키를 통해 다른 테이블과 같은 키를 공유하고 이를 이용하여 조인하여 관계를 이용하는 방식을 사용한다. 외래 키를 사용하여 테이블 간 관계를 정립해 줄 때 사용하는 전략은 크게 식별 관계, 비식별 관계 전략이 있다. 📑 식별관계 식별 관계란, 부모 테이블의 기본키 유니크 키를 자식 테이블이 자신의 기본키로 사용하는 관계이다. 부모 테이블의 키가 자신의 기본키에 포함되기 때문에 반드시 부모 테이블에 데이터가 존재해야 자식 테이블에 데이터를 입력할 수 있다. 즉) 부모에 데이터가..