분류 전체보기 170

[22.10.19] 판다스 ( Seriese / 데이터프레임 / 인덱스 )

판다스는 Series와 데이터프레임 구조를 가진다. Series Series를 생성하면, 인덱스가 생성되고 value값이 들어감. import pandas as pd #print('판다스 버젼 ' , pd.__version__) 1.5버젼 list1 = [ 31,100,73, 28, -7 ,39] print(list1) s1 = pd.Series(list1) print(s1) 기존의 리스트 구조에서 인덱스가 형성되고 value가 들어간 모습 Series는 기존의 dict와 아주 유사해보인다. dict의 Series화 dict를 판다스의 Series화 하기도 가능함 ! dict5 = { 'aa':'apple', 'bb':'blue', 'cc':'cherry'} print(dict5) s5 = pd.Seri..

PYTHON/강의복습 2022.10.19

데이터베이스 성능 / 인덱스

데이터베이스 성능이란? 클라이언트(사용자) 요청에 대한 응답시간과 시간당 처리 할 수 있는 처리량이다. 1. Current User : 동시사용자 (1) Active User : 서버에 부하를 발생시키는 사용자 (클릭+이동) (2) Inactive User : 서버에 요청을 보내고 있지 않은 사용자 (그냥보기) 2. TPS(Transaction Per Second) : 1초에 몇개의 트랜잭션을 처리했는가 3. Response Time : 요청 한 후부터 응답을 받을 때 까지의 시간 4. Resource : 한정된 값을 가진 시스템 구성 요소 (RAM, Memory) 데이터베이스 성능의 특성 경합부하 구간에서 Response Time이 급격히 증가함. TPS가 꺾이기 시작하는 구간부터가 고부하구간임. 성능..

SQL 2022.10.10

백업 및 복구

로그 선행 기입 기법 (write-ahead logging, WAL) 시스템에서 모든 수정은 적용 이전에 로그에 기록된다. 데이터베이스의 데이터 파일을 로그 레코드로 사용하여 동기화 디스크에 연속해서 쓰기 때문에 무작위로 쓰는 것 보다 성능이 좋다. 데이터베이스 버퍼를 이용해 데이터 파일 변경을 효율적으로 진해애함. 데이터베이스 버퍼 로그 - 버퍼 - 데이터 갱신 대상의 데이터를 포함한 블록이 버퍼 풀에 있는지 확인. 없을 경우 데이터 파일로 부터 해방 블록을 읽어 들임. 버퍼 풀 내에 해당 블록을 갱신함. ( Dirty 발생 ) / Dirty의 내용이 데이터 파일에 적용되는 거임. 갱신 내용이 Commit과 함께 로그에 기록. 갱신 되었지만 데이터 파일에 쓰이지 않은 블록은 Dirty 블록이 된다. 갱..

SQL 2022.10.09

테이블 설계

테이블이란 ? 관계형 데이터베이스에서 데이터를 관리 및 저장하는 장소 데이터의 효율적인 관리 및 적절한 조작이 매우 중요하다. 기본키(PRIMARY KEY)의 중요성 특정 집합에서 특정 행을 유일하게 식별할 수 있는 속성 기본키는 절대 중복되면 안된다. 반드시 기본키를 설정해야함 / 단, 업무상 이유로 기본키가 없는 테이블이 존재하는 곳도 있음 정규형 : 테이블을 정의하는 기본 형태 정규형을 제대로 지키지 않으면 정규화 위반임. 정규형의 목적은 제대로된 데이터 모델링을 설계하기 위함이다. 성능 향상이 아님. 1. 제 1정규형(1NF) 위반 테이블의 셀에 여러개의 값을 포함하지 않는다. ex) 연락처 컬럼에 010-1222-2222,qwer@qwer.com 이렇게 두가지 값이 포함되면 안됨. -> 해소 방..

SQL 2022.10.09

DA# 데이터 모델링 실습

DA#을 이용해 간단한 모델링 실습을 해보았다. 우선 새 프로젝트와 모델을 생성한다. 엔터티를 누르고 드래그하면 저렇게 상자가 생성된다. 논리 데이터 모델링은 엔터티, 물리 데이터 모델링은 그냥 테이블이라고 표현함 생성된 엔터티를 더블클릭하면 내용을 편집할 수 있다. 원하는 테이블 명을 작성하였다. 그 후, 원하는 속성을 채워넣어주면 된다. 논리 데이터 모델링은 속성 / 물리 데이터 모델링은 컬럼이라고 표현함 첫번째 엔터티가 생성되었다. 원하는 엔터티를 2개 더 만들어 주었다. 그 후 엔터티들끼리 관계선을 만들어 주기 위해, 관계선으로 연결하였다. 생성된 관계선을 더블클릭 하면, 내용을 수정할 수 있다. 식별자 사용을 TRUE로 설정하고, 관계명도 추가해주었다. 한개의 고객은 여러개의 주문을 할 수 있는..

SQL 2022.10.09

트랜잭션

트랜잭션이란? 데이터베이스 관리 시스템에서 상호작용의 단위 / 어떤 요청이 끝난 상태 데이터베이스 기능 중 가장 큰 기능 임. 쿼리 하나가 실패하면, 데이터베이스 시스템은 전체 트랜잭션 또는 실패한 쿼리를 롤백한다. 트랜잭션의 4대 특징 ACID 1. 원자성(Atomicity) : 무조건 전부 성공하거나, 전부 실패해야함 COMMIT : 처리 확정 ROLLBACK : 문제 발생 시 첫 과정 직전 상태로 복귀 2. 일관성(Consistency) : 데이터 조작 전후에 일관성 유지 필요 3. 고립성(Isolation) : 여러 사용자가 동시에 데이터 조작을 실행할 경우 각 처리가 모순 없이 실행되어야함. 4. 지속성(Durability) : 한번 데이터가 변하면 그 상태를 유지하는 것. 트랜잭션이 Commi..

SQL 2022.10.09

연습문제풀이

PRODUCTS 테이블에서 LIST_PRICE의 가격이 평균 가격보다 큰 행(집합)의 PRODUCT_ID, PRODUCT_NAME, LIST_PRICE 컬럼을 구하는 SELECT문을 작성하고 PRODUCT_NAME으로 정렬하라. SELECT A.PRODUCT_ID, A.PRODUCT_NAME, A.LIST_PRICE FROM PRODUCTS A WHERE A.LIST_PRICE > ( SELECT AVG(K.LIST_PRICE) FROM PRODUCTS k) ORDER BY A.PRODUCT_NAME; 먼저 AVG(LIST_PRICE) 구하는 서브쿼리를 이용하여 풀어야했음. 그리고 메인 쿼리에서 PRODUCT_NAME으로 정렬함. CUSTOMERS 테이블에서 CREDIT_LIMIT의 값이 가장 큰 10건..

SQL 2022.10.05

INSERT / UPDETE / DELETE

◇ 요약 ◇ INSERT INTO COLUMN VALUES ( 데이터 ) ; : COLUMN에 데이터 추가 UPDATE 테이블 SET 수정할내용 WHERE 조건 : 조건에 해당하는 열의 내용을 수정한다 DELETE FROM 원하는 테이블 WHERE 조건; :조건에 해당하는 행 삭제 DELETE FROM 원하는 테이블; : 해당 테이블 전부 삭제 CREATE TABLE ~~~ AS SELECT : CTAS 원하는 COLUMN만 골라서 테이블 만들 때 INSERT DROP TABLE DISCOUNTS; CREATE TABLE DISCOUNTS (DISCOUNT_ID NUMBER GENERATED BY DEFAULT AS IDENTITY, DISCOUNT_NAME VARCHAR2(255) NOT NULL, A..

SQL 2022.10.05